网站首页 > 资源文章 正文
引言
任何研究工作,包括教科书内容的选择都与历史和现实有关系。补码和反码在一般的数论书中并不涉及。但是在研究如何让所设计的计算机成本更节省速度更快的人看来,这种反码与补码理论比数论书中其他大量内容都重要,因为这是设计现代计算机所需要的基本数论理论。
反码
十进制(123)10的反码是:(876)10
(123)10+(876)10=(999)10没一次进位,结果都是999,一般地一个N进制数(dkdk-1…..d1)N的反码,就是(ekek-1…..e1)。
对i=1,…,k来说有: ei=N-1-di
从十进制的角度看,下面的数对互为反码:
0,9
1,8
2,7
3,6
4,5
例1.求2进制(100101)2反码
解:1变0,0变1就得到反码:(11010) 2
补码
反码加1就是补码。一般地:如果(dkdk-1…..d1)N与(ekek-1…..e1)N互为反码,那么(dkdk-1…..d1)N+(ekek-1…..e1)N+(1)N =(100….0)N
结果是k个0前面一个1,进位共计有k次。
例:求2进制(100101)2的补码
解:反码加1为补码
(11010) 2+(1)2=(11011)2
我们实际碰到的加法中两个数位长度未必相同,例如123+23是3位数加2位数,为了说明的方便,我们可以这样写位值表达式(123)N+(023) N
(023) N=(23) N前面补了零,让加数和被加数对齐成为位数相同的数。
(023) N的反码等于((923) N
规律:做减法时可先将被减数转换成补码,减数加上这个补码得到的结果再舍去最高进位的1,就可以获得实际的差。
例3.325-128=197
128的补码是:871+1=872
325+872=1197舍去最高进位就有减的结果是197。
证明很容易:
这个结论告诉我们,在设计实际的加减法运算器的时候,只需要设计一个加法器就可以了,减法可以用求反加1的补码转换为加法来做,现实中这样设计出的计算机运算部件可以比单独设计一个加法器和一个减法器件要减少一半的电路!
猜你喜欢
- 2024-09-08 1.2 计算机内信息的表示与存储(计算机内部信息的表示及存储采用的是)
- 2024-09-08 C++手撕底层:位、字节、原码、反码、补码的深入理解
- 2024-09-08 算法水题练习(二)(算法题模板)
- 2024-09-08 二进制是怎么减法运算的?(二进制是怎么减法运算的原理)
- 2024-09-08 “原码、反码、补码”计算机如何更好的实现算法?
- 2024-09-08 PLC的加、减、乘、除指令有什么用?其实功能十分强大!
- 2024-09-08 【1682023】指令:NEG(088)—— 完成二进制求补的功能指令
- 2024-09-08 C语言-自运算、位运算、取反运算(c语言位运算的运算规则)
- 2024-09-08 软件设计(十三)-原码、反码、补码、移码
- 2024-09-08 原码、反码和补码:深度解析C语言中的二进制表示
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)