标签:无符号 nsf 使用方法 style 运算 sans port 移除 none
<< —— 有符号左移
>> —— 有符号右移
<<< —— 无符号左移
>>> —— 无符号右移
无符号移位(>>>)和有符号移位(>>)的区别是:
有符号位移运算时如果数字为正数时位移后在前面补0,为负数时则在位移后在前面补1
例:
100<<2
4的二进制为
0110 0100
移除最后两位
0110 01
在前面补两个零
0001 1001
100>>2==25
无符号移位运算时(>>>)如果数字为正数时移位后在前面补0,若为负数时移位后在前面补1
100>>>2
100的二进制是
0110 0100
向右移2位后为
0110 01
在前面补0得二进制为
0001 1001
100>>>2==25
如果为-100
-100的二进制为
1111111111111111111111111111111111111111111111111111111111111100
移除最后两位后
11111111111111111111111111111111111111111111111111111111111111
之后在前面补两位
1111111111111111111111111111111111111111111111111111111111111111
-100>>>2==-1
<<,>>(有符号位移)和>>>(无符号位移)的使用方法,及差别
标签:无符号 nsf 使用方法 style 运算 sans port 移除 none
原文地址:https://www.cnblogs.com/siduoxiaohua/p/10297961.html