8421 BCD码 加减校正 您所在的位置:网站首页 汇编语言实现两个bcd码相加 8421 BCD码 加减校正

8421 BCD码 加减校正

2024-06-01 18:06| 来源: 网络整理| 查看: 265

含义

8421码是一种常见的BCD(Binary-Coded Decimal)码,它用4个二进制位表示1个十进制位:

00000001001000110100010101100111100010011010…11110123456789x…x

例如: 我们要表示5和15, 使用二进制编码

5 - 101 15 - 1111

使用8421码表示

5 - 0101 15 - 0001 0101 校正

在对8421码进行加减操作时候可能产生无意义的值如:1011、1100,这时候就需要进行校正.

8421码加法校正

举例:17 与 18 相加

8421码

0 0 0 1 0 1 1 1 (17) + 0 0 0 1 1 0 0 0 (18) ---------------------------- 0 0 1 0 1 1 1 1 (?) 这是一个错误的答案,因为8421码里1111没有对应的十进制

校正方法 当低4位相加的结果大于9的时候,会产生进位,但对于4位二进制位应当大于15时才产生进位,需要对低4位加上0110也即是6来人为的制造一个进位

0 0 1 0 1 1 1 1 + 0 0 0 0 0 1 1 0 (6) --------------------------- 0 0 1 1 0 1 0 1 (35) 校正后结果正确 8421码减法校正

有了上面加法校正的基础,我们可以类推出减法的校正 举例:17 与 8 相减 8421码

0 0 0 1 0 1 1 1 (17) - 0 0 0 0 1 0 0 0 (8) --------------------- 0 0 0 0 1 1 1 1 (?) 结果错误,8421码中没有1111对应的十进制

校正方法

当低4位相减,高4位产生借位时,借来的是16不是10,需要对低4位减上0110也即是6来人为的制造一个准确的借位

0 0 0 0 1 1 1 1 - 0 0 0 0 0 1 1 0 (6) ------------------- 0 0 0 0 1 0 0 1 (9) 校正后结果正确 结果为负数的减法

考虑补数 4 - 8 = 4 - 8 + 10 = 4 + (10 - 8) 若是减数为两位数,则加上 100,为三位则加上 1000,以此类推。

0 0 0 1 0 0 0 0 (10) - 0 0 0 0 1 0 0 0 (8) --------------------- 0 0 0 0 0 0 1 0 (2) 0 0 0 0 0 1 0 0 (4) + 0 0 0 0 0 0 1 0 (2) --------------------- 0 0 0 0 0 1 1 0 (6)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有