作业帮 > 数学 > 作业

计算机内,负数移位问题,

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/07/04 23:33:12
计算机内,负数移位问题,
-20>>3,数-20,向右移3位,怎么算?
结果是-3.
我在计算机李运行了,确实是-3.
计算机内数都用二进制来表示,所以移位也要用二进制的.
-20的ASCII码为 1001 0100 移位的算法是:最高位的符号位不移动,右移最低位舍去.所以以上二进制码右移三位后为 1000 0010 十进制为-2.
楼主说错了吧,结果应为-2.
更正:右移分算术右移和逻辑右移.楼主所说应为算术右移,算术右移时,最低位舍去,高位补符号位.
该问题-20,二进制为1001 0100 ,在计算机中应用补码(按位取反并加1)表示.为:1110 1100,右移三位后为1111 1101,再还原为原码:1000 0011.即-3.
还有哪不懂的可以再问下.第一次给你说错了^^