二进制编码的十进制数表示

  • 使用原因
    • 精度限制
    • 转换成本高
  • 编码方式 : 自然BCD码 (NBCD, 8421码)
    • 0 ~ 9 : 0000 ~ 1001
    • 符号
      • 正 : 1100 / 0
      • 负 : 1101 /1

加法

image-20250119220033002

  • 硬件实现

    image-20250119220038569

    • C4 判断是否要加6 (0110)

减法

image-20250119220045608

  • 反转数字

    • 按位反转, 并添加 (1010)
    • 添加 (0110), 并按位反转
  • 结果调整

    • 如果有进位, 舍弃进位
    • 如果没有进位, 对结果按位反转后加1, 并将结果符号设为负

image-20250119220054897

  • 示例

    image-20250119220100252