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个二进制位的值
注意是在二进制下
您可能感兴趣的与本文相关的镜像
Llama Factory
LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调
7467
1672

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