台式电脑

电脑中怎么样计算数字大小(没有加法器的计算机,如何才能计算减法?)

背景提要

1)计算机为什么不支持减法?

计算机以二进制保存数据,高压电流表示1,低压电流表示0,

0+0时,低压电流+低压电流,输出低压电流,所以0+0=0;

0+1时,低压电流+高压电流,输出高压电流,所以0+1=1;

1+1时,高压电流+高压电流,输出特高压电流,当检测到特高压电流时,将向下一根电路中输出高压电流,同时本电路输出低压电流,所以1+1=10,二进制10表示2;

从计算机设计开始,就不准备计算减法操作,因为无法输入负电流,同时也不支持反方向输入电流,从设计之初,就只设计了加法器,没有减法器,那么他是如何计算减法的呢?

2)计算机如何表示负数

符号位:数字在计算机中以二进制机器数进行保存,例如00000011代表3,100000011代表-3,机器数的最高位代表符号位,0代表正数(+),1代表负数(-);

原码、反码、补码原码

正数:同二进制一致,符号位为0

负数:同数的绝对值的二进制一致,符号位为1

正数:1->原[00000001]负数:-1->原[10000001]反码

正数:与原码一致

负数:在原码基础上,符号位不变,其他位取反

正数:1->原[00000001]->反[00000001]负数:-1->原[10000001]->反[11111110]补码

正数:与原码一致

负数:在反码基础上,加1

正数:1->反[00000001]->补[00000001]负数:-1->反[11111110]->补[11111111]数字在计算机中存储过程没有加法器的计算机,如何才能计算减法?

数字在计算机中存储过程图

模拟计算机减法操作

电脑中怎么样计算数字大小(没有加法器的计算机,如何才能计算减法?)

计算机在计算减法操作时,通过减一个数,就是加一个数的负数的方式,统一转换为加法操作。

1)举例1-1

1-1=1+(-1)->原[00000001]+原[10000001]->反[00000001]+反[11111110]->补[00000001]+补[11111111]=补[00000000]=原[00000000]=0

2)举例3-2

3-2=3+(-2)->原[00000011]+原[10000010]->反[00000011]+反[11111101]->补[00000011]+补[11111110]=补[00000001]=原[00000001]=1

3)举例-3-2

-3-2=-3+(-2)->原[10000011]+原[10000010]->反[11111100]+反[11111101]->补[11111101]+补[11111110]=补[11111011]=原[10000101]=-5总结

1)二进制最高位表示符号位,正数位0,负数为1

2)正数的原码、反码、补码一致,三码合一

3)负数原码除符号位,取反得反码,反码加1得补码

4)两数相减相当于一个数加另一个数的负数=一个数的补码加另一个数的补码

5)计算机保存时,保存的是补码,计算也是按照补码计算的,结果也为补码,需转换为原码

相关新闻

返回顶部