计算机基础知识之二进制加法

计算机中所有的运算底层都是01二进制表示的,在计算机运算过程中如何表示基本的加减乘除运算呢?

首先需要注意的一点就是,计算机在运算过程中没有减法,只有加法,那么如何表示1-1呢?

计算机如何表示1和-1呢?
在二进制中首位表示正负,首位为0表示这个数是正数,首位为1表示这个数位负数,其他数位表示这个数的绝对值,1-1 = 1+(-1)

运算十进制二进制
10000 0001
-11000 0001
+01000 0010

我们可以看到1+(-1)通过二进制计算后结果转换为十进制的数为:-2

这样的结果明显是不对的,基于以上的问题,人们发明了反码:
如果是正数,反码和原码一样;如果是负数,符号位不变其余的各位取反,0变为1,1变为0.

运算十进制二进制反码
10000 00010000 0001
-11000 00011111 1110
+01000 00101111 1111

这样得到的结果就是1111 1111 因为这个结果是反码,在取反就可以了,得到的结果1000 0000 这个二进制数字转换过来就是-0,但是现实中不会存在+0和-0的,这就用到了补码;
补码:如果是正数,补码和原码一样,如果是负数,则在反码上加1(相当于将原码数值位取反然后在最低位加1)

运算十进制二进制反码补码
10000 00010000 00010000 0001
-11000 00011111 11101111 1111
+01000 00101111 11110000 0000

这样就得到我们需要的正确的结果了。

1+(-2) = -1

运算十进制二进制反码补码
10000 00010000 00010000 0001
-21000 00101111 11011111 1110
+-11000 00011111 11101111 1111

计算结果是1111 1111 它的补码就是:1000 0001也就是十进制的-1

aaa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wb175208

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值