减法8位二进制数

时间:2016-06-28 22:05:11

标签: math binary twos-complement

我正在尝试将两个8位数字相加,其中一个为负数,第二个为正数。这就是我的工作:

92-113

所以我将每个数字表示为二进制

92 - 01011100
113 - 01110001

将0更改为1,将1更改为0后,我得到:

10001110 and after adding 1 I have 1000111 which is -113

然后我将它们加起来然后我得到了:

11101011

什么完全没有意义,我可能做错了什么?我真的很想知道我犯错误的地方,因为这是真正的基本知识; /

1 个答案:

答案 0 :(得分:0)

你没有遗漏任何东西 - 11101011是8位有符号二进制文件中二进制等价的-21(92-113)。

对于烧结整数类型,left = most位确定数字是正数还是负数。为了得到加法逆,你翻转所有位,但最右边。它与您用于将113转换为-113的过程相同。

这样做会产生00010101,即21。所以11101011是-21。