1先转成二进制 在左移n位 然后补0 比如 1<<2 1的二进制为 0000 0001 左移2位 0000 0100.
n=1 即 1*2 , n=2 既1*2*2 ,n=3 既1*2*2*2
就是进行二进制的翻倍。
二进制每左移一位就是*2,两位就是*2*2,三位就是*2*2*2.
1>>n就是1右移n位
n>>1就是n右移1位
1<<n就是1左移n位
n<<1就是n左移1位
int m=1<<n
就是m的值为把1左移n个二进制位的值
注意是在二进制下
本文详细介绍了位运算中的左移和右移操作,并解释了这些操作如何通过改变二进制数来实现数值的翻倍或减半。例如,将二进制数左移一位相当于将该数乘以2。此外,文章还提供了具体的示例帮助理解。
1先转成二进制 在左移n位 然后补0 比如 1<<2 1的二进制为 0000 0001 左移2位 0000 0100.
n=1 即 1*2 , n=2 既1*2*2 ,n=3 既1*2*2*2
就是进行二进制的翻倍。
二进制每左移一位就是*2,两位就是*2*2,三位就是*2*2*2.
1>>n就是1右移n位
n>>1就是n右移1位
1<<n就是1左移n位
n<<1就是n左移1位
int m=1<<n
就是m的值为把1左移n个二进制位的值
注意是在二进制下
您可能感兴趣的与本文相关的镜像
Anything-LLM
AnythingLLM是一个全栈应用程序,可以使用商用或开源的LLM/嵌入器/语义向量数据库模型,帮助用户在本地或云端搭建个性化的聊天机器人系统,且无需复杂设置
7467
1672

被折叠的 条评论
为什么被折叠?