BCD编码 & 格雷码(学习记录)

1、BCD编码

用 4 位二进制数来表示 1 位十进制数(中的0~9这10个数码)
BCD码也称二进码十进数,BCD码可分为有权码和无权码两类。其中,常见的有权BCD码有8421码、2421码、5421码,无权BCD码有余3码、余3循环码。
8421BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8421,故称为有权BCD码。
5421BCD码和2421BCD码同为有权码,它们从高位到低位的权值分别为54212421。
余3码是由8421码加3后形成的,是一种“对9的自补码”。
余3循环码是一种变权码,每一位的在不同代码中并不代表固定的数值,主要特点是相邻的两个代码之间仅有一位的状态不同。
格雷码(也称循环码)是由贝尔实验室的FrankGray在1940年提出的,用于PCM方法传送信号时防止出错。格雷码是一个数列集合,它是无权码,它的两个相邻代码之间仅有一位取值不同。
余3循环码是取4位格雷码中的十个代码组成的,它同样具相邻性的特点。

2、二进制码转格雷码

若二进制码表示为: B[N-1]B[N-2]...B[2]B[1]B[0];
相应地, 则二进制格雷码表示为: G[N-1]G[N-2]...G[2]G[1]G[0].
其中最高位保留: G[N-1] = B[N-1];
其他各位: G[i] = B[i+1] xor B[i]. (i = 0, 1, 2, ..., n-2)
Xor 异或

在这里插入图片描述

3、格雷码转二进制码

若二进制格雷码表示为: G[N-1]G[N-2]...G[2]G[1]G[0];
相应地, 则二进制码表示为: B[N-1]B[N-2]...B[2]B[1]B[0].
其中最高位保留: G[N-1] = B[N-1];
其他各位: B[i] = B[i+1] xor G[i]. (i = 0, 1, 2, ..., n-2)
Xor 异或

各位可以根据公式自行推导一下,是否吻合😜

部分资料参考自 百度百科.

2023-9-19 20:27:24 经网友指正,BCD码不包含格雷码,特此修正

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
8421BCD码格雷码是两种常用的数字编码系统。 首先,8421BCD码是一种二进制编码系统,用4位二进制数来表示一个十进制数的每个十进制位。每个十进制位用数字0到9的8421码来表示,即0000到1001。8421BCD码可以直接由十进制数转换得到,也可以由二进制数转换得到。 而格雷码则是一种循环码,相邻两个码之间只有一位状态改变。格雷码的转换规则是将二进制码的最高位保持不变,然后每个后续位与其前一位进行异或运算,得到相应的格雷码格雷码的一个重要应用是在旋转编码器中,可以通过检测码的变化来判断旋转方向和步长。 由于8421BCD码格雷码编码规则不同,它们的差别主要体现在以下几个方面: 1. 表示范围:8421BCD码可以表示0到9的十进制数,而格雷码可以表示0到2^n-1的二进制数,其中n表示码位数。格雷码可以表示的数字范围更广。 2. 编码方式:8421BCD码直接用十进制数的码来表示,而格雷码则通过异或运算得到。格雷码编码方式比较复杂,需要进行运算。 3. 码值变化:8421BCD码的相邻码之间可能有多位进行了改变,而格雷码只有一位状态改变。格雷码的变化更加有规律,更适合用于设计数字电路。 总的来说,8421BCD码主要用于表示十进制数,适合于人类的理解和操作;而格雷码则主要用于数字电路和数据传输中,适合于机器的处理和判断。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值