- “<<”运算符执行左移位运算。在移位运算过程中,符号位始终保持不变。如果右侧空出位置,则自动填充为 0;超出 32 位的值,则自动丢弃。
- 运算 5 << 2
第一个数的位值左移2位运算结果0
把数字 5(二进制为101) 向左移动 2 位得出(二级制10100)转换成10进制为20
- “>>”运算符执行有符号右移位运算。与左移运算操作相反,它把 32 位数字中的所有有效位整体右移,再使用符号位的值填充空位。移动过程中超出的值将被丢弃。
- 运算 5 >> 2
第一个数的位值右移2位运算结果0000
把数字 5(二进制为101) 向右移动 2 位得出(二级制1)转换成10进制为1
- 运算 -1000 >> 8
用算式进行演示,如图所示。当符号位值为 1 时,则有效位左侧的空位全部使用 1 进行填充。
- “>>>”运算符执行无符号右移位运算。它把无符号的 32 位整数所有数位整体右移。对于无符号数或正数右移运算,无符号右移与有符号右移运算的结果是相同的。
– 在正数情况下,>> 和 >>>返回是相同的
>>:带符号右移。正数右移高位补0,负数右移高位补1
>>>:无符号右移。无论是正数还是负数,高位通通补0
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/10524.html