位移运算符

基础

位运算符操作的都是整型的数据

  1. 左移<<:被移除的高位丢弃,空缺位补0
  2. 右移>>:需要考虑正负数;被移除的最高位是0,右移后,空位补0,低位丢弃;被移除的最高位是1,右移后,空位补1,低位丢弃
  3. 无符号右移>>>:被移位的最高位无论是0还是1,空位都是补0,被移除位丢弃

左移<<

每左移1位,值扩大了2的1次方倍的大小,相当于跨过了一位比特位的最大值范围的倍数,相当于2
每左移n位,值扩大了2的n次方倍的大小,相当于跨过了n位比特位的最大值范围的n数倍,相当于
2^n

相当于:值*2^n

如:0000 0000 1111 1111 左移8位
255 << 8
1111 1111 0000 0000
255 *(2^8)
1111 1111 0000 0000
255 *(2^1) *(2^1) *(2^1) *(2^1) *(2^1) *(2^1) *(2^1) *(2^1)
255 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2
255 *(24)*(24)
255 * 16 * 16
65280

右移>>

和左移相反,每右移一位,值减小了2的1次方倍的大小,相当于除2

相当于:值 / 2^n
注:负数的右移是以补码计算的,显示的时候会转换为原码

posted @   SAZZGSJ  阅读(102)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示