第六课 二进制编码的十进制数运算
使用原因
- 精度限制
- 转换成本高
加法溢出判定
加法
- 如果产生了进位1加0110
- 如果没产生进位,但是大于9了,产生进位
总是加上6
0101+1001 = 1110 【14】(BCD码中无法得到14) + 0110 = 0100
10进位和16进位刚好差一个6,所以补上6即可
25 + 39 = 64
需要额外增加 0110 原因是产生了进位。虽然表面上没有直接的1进位产生。但是,是用10进制的形式来进行计算,此时1110已经大于10了,所以产生了进位
减法
0000
直接反转 得到 1111
= 15 -$x$
但实际上需要得到$9-x$
所以
- 按位反转,得到 $15-x$,添加
1010
得到$25-x$,又因为最大值为16
所以会自动减16 得到$9-x$ - 添加
0110
,得到 $x+6$,再按位反转,得到$15-(x+6) = 9-x$
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 丁丁的小窝(*^_^*)!