作者a7752035 (uishi)
看板java
标题[问题] 位移运算的问题
时间Thu Feb 28 11:13:07 2013
在书上看到一个问题
int 型态
-2 >> 1
11111111111111111111111111111110
↓右移一个位元
_1111111111111111111111111111111
↓补1
11111111111111111111111111111111
↓
-1
int 型态
-2 >>> 1
11111111111111111111111111111110
↓右移一个位元
_1111111111111111111111111111111
↓补1
01111111111111111111111111111111
↓
2147483647
为什麽 >> 最左边是补1
而>>>最左边是补0呢 书上没说明><
可以帮我解答一下吗 谢谢^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.230.64.211
1F:→ risker760915:google一下就有解答... 02/28 11:20
2F:→ MetalChao:这没有为什麽, >>> 就是为了这个行为而定义的吧 02/28 11:36
3F:推 snowlike:结论不太正确这不是补0还是1的问题,是数值正负号的问题 02/28 23:59
4F:推 mars90226:楼上是对的,补的数字是根据正负号,因为不能改变数值 03/01 08:25