太多事情要忙,都好久没更新了,废话不多说开始吧!!!!
阅读本文所需知识:进制数转换及运算 。
文章插图
文章插图
图片来源于网络
BCD码的概念
百度定义:BCD码(Binary-Coded Decimal?)亦称二进制十进制或二-十进制代码 。用4位二进制数来度表示1位十进制数从16位组合中取出的0~9这10个数码 。例如:十进制28用BCD码表示(0010 1000) ps:0010(2)1000(8)概念一目了然
- 它的作用是什么?
因为计算机中数据都是用二进制进行存储,所以二进制和十进制需要相互转换,它们转换是比较麻烦的,然而BCD码正好解决了这个问题 。BCD码把十进制每一位用4位二进制来表示 。上面那个例子就是证明 。
BCD码分类
- 压缩码和非压缩码
非压缩码:用8位二进制数来表示1位十进制数(例如:2(0000 00010))
那么问题来了,为什么不直接使用压缩码? 高效又节省空间 。
ps:因为一个字节是8位,而且每个数据所表示的长度不同 。
- 有权码和无权码
无权码:余三码、余三循环码、格雷码
文章插图
文章插图
图片来源于网络
有权码8421码
8421码是BCD码最常用的编码方式,也被称为BCD码 。
位权如名:8、4、2、1 (表示范围:0~9(0000~1001),禁用码:10~16(1010~1111)
例如:543D = 0101 0100 0011B (ps:D表示十进制数;B表示二进制数)
8421码对应ASICC码的第四位相同,这特点有利于简化输入输出过程中BCD码和字符代码的转换 。
- 2421码(自补特性)加权码
例如:642D=1100 0100 0010B
问题来了,仔细观察位权里有两个2,这样就会重复问题,比如说:0101和1011都对应5 。
所以做出规定:0101~1010不许用
禁用码:0101、0110、0111、1000、1001、1010
2421码是对9的自补代码(自补性)即每一个2421码只要与自身按位取反,便可得到该数9的补数的2421码 。
例如:0100(4)即各位取反后正好为该数9的补码1011(5) 。
而0101取反后1010对应十进制10显然不满足自补码的要求 。
好处:给运算带来方便,因为可以利用其对9的补数将减法运算转变为加法运算
(0000)和(1111)、 (0001)和(1110)、 (0010)和(1101)、 (0011)和
(1100)、 (0100)和(1011)互为反码,仔细观察它们具有反射特性
做加法是若两个数之和为10正好等于二进制的16(0001+1111=16),于是便能高位自动产生进位信号 。
- 5421
注意位权不同表示的数也不同,看上面的例子相信你们也能理解了 。
禁止码:0101、0110、0111、1101、1110、1111
5421码同样也有2421码的自补性 。
文章插图
文章插图
真值表
无权码
- 余三码
表示范围:3~12(0011~1100)
禁 用 码 :0~2(0000~0010)、13~16(1101~1111)
那么它的作用及特点是什么?
余三码同样也有对9的自补性,0和9, 1和8,…..5和4的余3码互为反码,这在求对于10的补码很方便 。
两个余3码表示的十进制数相加时,能产生正确的进位信号,但对“和”必须修正 。
修正方式:如果有进位信号则结果+0011(3),如果没有进位信号则结果减0011(3)
例如:
文章插图
文章插图
有进位需修正 所以结果0010+ 0011(余三码3)= 2(转换十进制) 2+上进位10=12(结果正确)
推荐阅读
- 详谈路由器管理员默认密码初始密码 路由器6位初始密码是多少
- 视网膜屏详细介绍 视网膜屏幕什么意思
- 解决Windows10系统的电脑忘记PIN码的方法 电脑pin码是什么忘记了怎么办
- 手机锁屏密码忘了怎么解开不清除数据 手机锁屏密码忘了怎么解开
- 和平精英二级密码忘记了怎么办 和平精英二级密码怎么找回
- 天津健康码微信怎么申请 天津健康码微信可以申请吗
- 微信申请西安健康码 西安健康码怎么申请
- 泳衣的尺码怎么选 泳衣如何选
- 不知道自己社保密码怎么办 不知道社保密码怎么办 不知道社保密码咋办
- qq动态密码关闭 qq动态密码怎么解除