计算机为什么使用二进制,加减法计算为什么使用补码,补码到底是怎么回事?

来源:互联网 发布:最终幻想猫女捏脸数据 编辑:程序博客网 时间:2024/05/01 16:35

计算机为什么使用二进制

这是因为二进制在计算机中的表示与计算比十进制和其他进制要简单的多,因为状态少,只有0和1。

计算机计算思维与人类的计算思维不一样,人计算较复杂的事务是通过公式或者算法等来计算,而计算机是将复杂事务变为最简单的01,然后通过大量运算计算出结果的。

加减法计算为什么使用补码,补码到底是怎么回事,补码为什么要通过原码过度到反码再过渡到补码?

加减法计算为什么使用补码?

补码的出现是为了将计算机中的减法用加法代替计算,这样计算机只要有个加法器就可以计算一切计算。

补码到底是怎么回事,补码为什么要通过原码过度到反码再过渡到补码?

假设现在有一个表盘,并且时针指向两点,那么逆时针扳动三小时是几点呢,答案是十一点。
换种思路,我顺时针扳动9个小时,答案也是11点。
逆时针为3个小时,顺时针是9个小时,小时数加起来正好是12个小时,用小学时期学习的的角度的180度角类似的知识可以得到,3和9就是互补的。而这个12科学家称之为模。
正数参与计算就是使用的加法,所以我们规定它的补码就是它本身。
负数参与计算用的是减法,我们需要让它像表盘一样计算,将它不再做逆时针,而是去做顺时针,顺时针多少呢,就是模减去负数的绝对值。
给个例子

一个字节的整数计算:12+5                                                      -3-2=(-3)+(-2)一个字节的模二进制应该是1 0000 0000                       一个字节的模二进制应该是1 0000 000012的原码是0000 1100,                                     -3的原码是1000 0011,补码是0000 1100。(正数补码就是源码本身)                 补码是100000000-10000011=1011 11015的原码是0000 0101,                                      -2的原码是1000 0010,补码是0000 0101。(正数补码就是源码本身)                 补码是100000000-10000010=1011 111000001100                                                  1011 1101+00000101                                                 +1011 1110=00010001                                                 =0111 1011 (第一位舍去,如13点去掉12点为1点)                                                          原码=10000 0000-0111 1011=1000 0101                     
补码:0000 0000 = 00000 0001 = 1... ...0111 1111 = 1271000 0000 = 0或者-128 -128是为了和16位兼容1000 0001 = -1271000 0002 = -126... ...1111 1111 = -1
0 0
原创粉丝点击