位移运算符:<<、>>、>>>
(1) (int) 144 << 3
int:4个字节(一个字节8位),so:32位
<<左移运算符
144的二进制左移3位,前面(高位)去000(3个0),后面(低位)补000(3个0)。低位补0
10010000 -> 10010000000
结果:1152
注意点:
如果移动的位数超过了该类型的最大位数,编译器会对移动的位数取模移动。如果是int类型移动35位,实际只移动了35%32=3位。
(2) (int)144 >> 3
">>" 右移运算符
144的二进制右移3位,后面(低位)去000(3个0),前面(高位)补000(3个0)。高位补0
10010000 -> 10010
结果:18
另一种理解:
相当于num除以2的n次方
相当于num乘以2的n次方
左移运算符:num << n
左移运算符:num >> n
(3) (int)144 >>> 3
作者:Jason_Coding
链接:https://www.jianshu.com/p/3b109b29ab8f
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦