右移这里确定没写错吗?
Topic source应该是写错了,试了一下10111000 00000000 00000000 00000000的结果并不是-134217728,11111000 00000000 00000000 00000000的结果才是
移位运算首先要明确的是在计算机中正数用二进制原码表示的,负数用补码表示的。在右移时,补码是符号位;在左移时,补码永远都是0;而无符号移位只有右移,没有左移,补码永远都是0。记忆的话只要记住**“右移补符其它补0”**即可。
7楼的朋友,你说的不太正确,正数原反补相同,负数不同,所以正数和负数都是以补码形式存储的,而右移分为逻辑右移和算术右移,逻辑右移不关注符号位,高位补0,但算术右移关注符号位,正数符号位是0,所以补0,负数符号位是1,所以补1,而不是右移其他位补0;
- 1
- 2
逗比的仙老板
有符号的右移应该前面是补1,所以这里是不是写错了?
这里应该是这样才对吧?