二进制补码表示法的实现
来源:4-3 有符号数与无符号数

慕婉清7331720
2019-12-10
例子3:x=-7,计算x的二进制原码和补码
源码:x = 1,0111
补码:x = 1,1001
是否是这样计算的:
我们使用重复相除法将十进制的7转换为二进制 是111,因为n表示x的位数(这里n的值为什么要设置为4???)所以,我们需要补齐位数 也就是0111,还需要一个符号位,因而源码等于1,0111.
计算补码的过程:2^5 - 7 = 32 - 7 = 25; 将25转换为二进制 也就是11001 (那么视频中为何要表示 2 ^5 - 7 = 100000 - 0111,表示成二进制数相减 有何意义);接着 因为 n等于4 计算出的结果 首位也是1 所以补码就等于 11001(可是只要是一个整数 使用重复相除法 最后商0 必定是余1的 这样是不是将计算出的首位当作符号位 感觉有点牵强)
恳请老师解答疑惑.谢谢
写回答
1回答
-
我把括号内的当做是问题哈。
为什么n设置为4,一般做二进制的题,都会把位数设置为4、8、16这样的位数,所以这里设置为4。
表示为二进制相减之后可以用二进制减法去做,和十进制减法是类似的,当然你这样计算也没有错。
最后一个“只要是一个整数 使用重复相除法 最后商0 必定是余1的 ”,这个定论是怎么来的?不正确。
072019-12-12
相似问题