二进制编码的十进制数运算

Kiyotaka Wang Lv3

二进制编码的十进制数运算

编码方式:自然BCD码(NBCD,8421码)

  • 0~9:0000 ~ 1001
  • 符号:正:1100 负:1101

使用原因

  1. 精度限制(浮点数的精度问题)
  2. 转换成本高

NBCD码

回顾:补码的加减法运算

补码整数的加减法

加法

加法

有两种情况需要特殊讨论,图中已经标了A、B(上大学之后越来越不会写字了qaq)

对A:每次进位相当于减了16,但实际上只需要加10,所以需要在原来的位上面补一个6(0110)

对B:对10 ~ 15这种值,在十进制中需要进位,所以需要一个加6来实现进位(相当于白送一个6)

因此,当表示十进制中一位的四位二进制 >= 1010时我们就需要加上0110。

加法的硬件实现

加法的硬件实现

减法

减法

减法运算的实例

总结

总结

  • 标题: 二进制编码的十进制数运算
  • 作者: Kiyotaka Wang
  • 创建于 : 2022-10-28 15:20:18
  • 更新于 : 2022-11-21 13:00:51
  • 链接: https://hmwang2002.github.io/2022/10/28/er-jin-zhi-bian-ma-de-shi-jin-zhi-shu-yun-suan/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。