永发信息网

有符号位的移位后,高位是否会补1

答案:1  悬赏:60  手机版
解决时间 2021-03-26 16:44
  • 提问者网友:谁的错
  • 2021-03-25 21:03
有符号位的移位后,高位是否会补1
最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2021-03-25 21:40
1.二进制
二进制有着原码,反码,补码之分,在计算机中都是用补码进行运算,这样符合计算机的特性。
a, 首先说说正数,正数的原码,反码,补码都一样 ,只要写出原码,一切都OK,运算当然是用反码啦,在这也就是原码。
b, 其次是负数,负数相对复杂一些,反码是符号位不变,其他位全取反,补码是在反码基础上加1,找负数补码还有一种快捷方法,符号位不变,从右往左看,第一个1之前的数全部取反。

2.四个位运算(补码运算,有负数一定要变成补码,结果为负数也要变成原码)
a, 按位与 & 只有当参与运算的两个数都为1,结果才为1,例如 1&1=1,1&0=0,0&0=0。
b, 按位或 | 其中一个为1,结果为1.
c, 按位异或 ^ 一个数为0,另一个数为1,结果为1.
d, 按位取反 ~ 包括符号位在内的全部数d都取反。

3.三个移位运算(补码运算,有负数一定要变成补码,结果为负数也要变成原码)
a, 算术右移,>>,低位溢出,符号位不变,并用符号位数补溢出的高位。
b, 算术左移,<<,符号位不变,低位补零。
c, 逻辑右移,>>>,低位溢出,高位补零。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯