JAVA_带符号右移操作>>的讲究
带符号左移n位相当于十进制数×2^n
带符号右移n位: 对正数而言,相当于 floor(正十进制数/2^n) ;对于负数而言,相当于ceil(负十进制数/2^n);
右移的实例:
-19>>3 = -3
19>>3 = 2
带符号右移的对象是十进制数的补码。带符号右移n位的时候,左边补充的n位数字(0/1)与原二进制补码的最高位相同。
如果原二进制数的最高位为1(即负数),那么左边补充的n位数字就全都是1。
带符号左移n位相当于十进制数×2^n
带符号右移n位: 对正数而言,相当于 floor(正十进制数/2^n) ;对于负数而言,相当于ceil(负十进制数/2^n);
右移的实例:
-19>>3 = -3
19>>3 = 2
带符号右移的对象是十进制数的补码。带符号右移n位的时候,左边补充的n位数字(0/1)与原二进制补码的最高位相同。
如果原二进制数的最高位为1(即负数),那么左边补充的n位数字就全都是1。