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个二进制位的值
注意是在二进制下
您可能感兴趣的与本文相关的镜像
PyTorch 2.6
PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理
7467
1672

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