当前位置: 首页 > news >正文

单独复习一下 BCD码 和 余3码 的关系

我们都知道,余三码是BCD码的一种“改良版”或“功能增强版”。现稍微详细地回顾一下 BCD码 和 余三码,并说明一下这个关系。

1. BCD码

1.1. 定义
        BCD码,全称为“二-十进制编码”或“8421码”,是一种用4位二进制数来表示1位十进制数的编码方法。

1.2. 编码规则
        由于4位二进制数有16种组合,而表示1位十进制数只需要10种组合。BCD码只使用前10种组合,即 0000 到 1001,分别对应十进制数字 0 到 9。剩下的6种组合(1010 到 1111)在BCD码中是无效的

       它的权重分配非常直观,从高位到低位依次是8、4、2、1,因此也得名8421码

1.3. 编码表

十进制数字BCD码 (8421码)
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001

1.4. 特点

直观简单

       编码方式与二进制数值本身基本一致,非常容易理解和转换。

易于转换

       将十进制数转换为BCD码,只需将每一位十进制数字独立地替换成对应的4位二进制码即可。

              例如:十进制 123 的 BCD码是 0001 0010 0011

存在浪费

       16个编码中只使用了10个,有6个是冗余状态

运算复杂

       进行加法运算时,由于“逢十进一”的规则与二进制的“逢十六进一”不同,当某一位的和大于9时,需要做“+6校正”(即加上 0110)来修正结果。

 

2. 余三码

2.1. 定义
       余三码是一种无权码,它是在BCD码的基础上加上一个固定的数值“3”(即 0011)后得到的编码。

2.2. 编码规则
       对于一个十进制数字,先找到其对应的BCD码,然后在这个BCD码的值上加上 0011(即十进制的3),得到的结果就是该数字的余三码。

2.3. 编码表

十进制数字BCD码 (8421码)余三码
000000011 (0+3)
100010100 (1+3)
200100101 (2+3)
300110110 (3+3)
401000111 (4+3)
501011000 (5+3)
601101001 (6+3)
701111010 (7+3)
810001011 (8+3)
910011100 (9+3)

4. 特点

自补性

       这是余三码最重要的特性。观察上表可以发现,0 (0011) 和 9 (1100) 的编码互为反码;1 (0100) 和 8 (1011) 的编码互为反码,以此类推。这个特性使得在余三码系统中,求一个数的“9的补数”(即9减去该数)变得异常简单,只需将其二进制位按位取反即可。这大大简化了十进制减法运算的硬件设计

无权码

       它的每一位没有固定的权重(如8,4,2,1),因此不能直接按权重计算其数值。

运算优势

       当两个余三码相加时,如果产生进位正好对应十进制运算的“逢十进一”,这简化了加法器的设计。

 

3. 两者的关系

       余三码与BCD码有着直接且紧密的衍生关系

1. 转换关系

       BCD码 → 余三码:在BCD码的基础上 加上 0011 (3)

              公式:余三码 = BCD码 + 0011

       余三码 → BCD码:在余三码的基础上 减去 0011 (3)

              公式:BCD码 = 余三码 - 0011

2. 设计哲学的联系

       BCD码 的设计哲学是直观映射,追求与十进制数字最直接的对应关系。

       余三码 的设计哲学是功能优化,它通过一个简单的数学变换(+3)改变了编码空间,从而获得了BCD码所不具备的自补性和更好的运算特性

3. 状态空间的联系
       两者都使用4位二进制码,但有效的10个编码在16个可能的状态中占据了不同的位置:

       BCD码 占据了编码空间的下半部分 (0000 ~ 1001)。

       余三码 将BCD码的编码空间整体向上平移了3个单位,占据了中间部分 (0011 ~ 1100)。这使得其编码关于中心对称,从而实现了自补性。

4. 总结对比

特性BCD码 (8421码)余三码
编码方式有权码 (8,4,2,1)无权码
与十进制关系直接对应BCD码 + 3
0的编码00000011
9的编码10011100
主要优点直观,易于转换自补性,简化十进制运算
主要缺点运算复杂,需要校正不直观,需转换
核心关系基础由BCD码衍生而来,旨在解决BCD码的运算缺陷

简单来说,余三码是BCD码的一种“改良版”或“功能增强版”。它通过一个简单的偏移操作,牺牲了直观性,换来了在数字逻辑运算(特别是减法)上的巨大便利。

http://www.dtcms.com/a/503924.html

相关文章:

  • 1. Qt 基础
  • 网站专题策划方案书直播app开发教程
  • Process Monitor 学习笔记(5.15):三大经典实战(文件被占用 / 启动慢 / 权限失败)与标准排错流程
  • 福建省晋江市建设局网站想学python从哪里入手
  • 做网站的语言叫什么多个wordpress
  • 建网站要多少钱 优帮云百度上找不到网站
  • 泰兴做网站的公司搜狐快站建站
  • 手机网站模板下载免费.net 网站模板 下载
  • 设备健康管理大数据平台:工业智能化的核心数据引擎​
  • T247867 05-06-D03-海狸咬树(选做)(L5)
  • JAVA 架构师面试题含答案:JVM+spring+ 分布式 + 并发编程
  • 19.6 《3步攻克语音输入提示工程:智能纠错+多模态融合实战全解》
  • 怎么样自己创建网站古焰传奇
  • DTAS 3D-尺寸公差分析软件-如何提高工作效率?
  • 防火墙的白名单和黑名单
  • C#编写的WebApi接口直接返回byte数组引发的问题
  • 室内设计素材网站推荐品牌设计有哪些
  • 厦门市集美区建设局网站网络营销模式的建议
  • 网站建设哪些是需要外援的问题专业设计vi公司
  • 面向对象OOP
  • FFmpeg 基本API avcodec_alloc_context3函数内部调用流程分析
  • 多传感器信息融合---深度学习
  • 成都市网站建设公司怎么建立公众号写文章
  • 做百度移动端网站排名如何自创软件
  • 2014年数据结构应用题深度解析
  • 如何弄自己的公司网站搜索引擎网站建设公司
  • 【中国太平洋人寿保险-注册/登录安全分析报告】
  • 衡阳市做网站对网站建设的描述
  • 九成自动化批量备份知乎专栏文章
  • 东莞建站模板搭建wordpress摘要调用