如何将8位二进制补码扩展成16位二进制补码

如何将8位二进制补码扩展成16位二进制补码,第1张

如果8位二进制补码的最高位(符号位)为0,那么扩展后的16位补码直派闷接在最高位前面添加8个0即可;

如果8位二进制补码的最高位(符号位)为1,那么扩展后的16位补码直接在最高位前面添加8个1即可;

举例如下:

-13

8位原码:1000 1101

8位补码:1111 0011

16位原码:1000 0000 0000 1101

16位补码:1111 1111 1111 0011

根据前面的知识,由于-13的最高位为1,所以直接在最高位前面添加8个1即可变为16位补森清码,即1111 1111 1111 0011(与前面由原码求补码的结果一致)。

13

8位原码:0000 1101

8位补码:0000 1101

16位原码:0000 0000 0000 1101

16位补码:0000 0000 0000 1101

根据前面的知识,由于13的最高位为0,所以直接在最高位前面添加8个0即可变为16位补码,即0000 0000 0000 1101(与前面由原码求补码的此羡前结果一致)。

编译运行,没有error,就写,劳资写的代码就是6,没错。

如果有error,修改error,在报告中写出姿裂你哪行代码出错了,怎么改正的。

程序不是写出来的,是一次次调试出来!几乎不可能写完代码,一次性编译通过,都是报错了。然后找到bug,改正,直迹汪闭到没错误,运行成功,陵简输出正确结果。这个过程就是调试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12417115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存