数字电子技术基础——码制

码制

数字系统中,数码不仅能表示数字,还能传递信息,这就是 编码

ASCLL 码

ASCLL 码是计算机系统中最常见的编码,它是用来表示一些在字符的编码集合,所以在编程语言中,字符型的数据和整型数据之间在一定范围内是一致的。
ASCLL 码表(数据来自博主加油当当)

BCD 码制

BCD 码是用四位二进制数来表示一位 0~9 的十进制数。十进制 0 ~ 9 有十个数,但是四位的二进制数可以表示 16 个数字,所以有不同的组合方式表示 BCD 码,下表是最常见的几种。

BCD 十进制数码8421 码2421 码5421 码余 3 码余 3 循环码
000000000000000110010
100010001000101000110
200100010001001010111
300110011001101100101
401000100010001110100
501011011100010001100
601101100100110011101
701111101101010101111
810001110101110111110
910011111110011001010

8421 码

所谓 8421 就是二进制每一位的权重,这个和不同的进制数没什么区别,很好理解。

唯一的区别在于,BCD 码赋予它不同的意义: ( 1001 ∣ 0011 ) 2 (1001|0011)_{2} (1001∣0011)2 在 BCD 码中表示 93 93 93, 而不是传统的二进制,8421 码四位为一体,最高权重只有 8

2421 码

和 8421 相同,2421 也是每一位的权重不一样,2421 在前 5 个数 0 ~ 4 和 8421 没什么区别,直到表示 5 时,由于第四位的权重时 2,且低权重的位可以表示出 6,则权重为 4 的位会变为零,从低位开始又开始进位。

5421 码

同上

格雷码

格雷码是一种无权吗,也就是每一位的数据都是没有权重的,它有一个特点,就是相邻的两个数据之间只有一个数据位是不同的。这种性质使得他在进行信息传递时的误差降低,是一种可靠性编码。

格雷码的的生成:

  1. 一位格雷码只有两个代码,0 和 1。

  2. n+1 位格雷码 ( n > = 1 ) (n>=1) (n>=1), 有 2 n + 1 2^{n+1} 2n+1 组代码,其中前 2 n 2^n 2n 个代码的最高位是 0,并且将前 n 个格雷码,按顺序排列,后 2 n 2^n 2n 组数据的最高位位 1,并将 n 位格雷码倒序排列。

第二项有点拗口,难理解,其实这是一种递归运算,可以先从最简单的入手,比如我有两位格雷码,那就能表示 4 组数据,前 2 组数据是

00
01

后两组数据是

11
10

再增加到3位格雷码,前4组数据

000
001
011
010

后四组数据

110
111
101
100

格雷码和二进制码的转换

  • 二进制转格雷码
    1. 格雷码的最高位(最左边)与二进制码的最高位相同
    2. 从左到右,逐一将二进制码相邻的两位相加,舍去进位,作为格雷码的下一位

例: ( 11011 ) 2 (11011)_{2} (11011)2转格雷码
在这里插入图片描述

  • 格雷码转二进制码
    1. 二进制码最高位与格雷码最高位一致
    2. 将翻译过的二进制码与下一位格雷码相加,舍去进位,得到二进制下一位

例:将格雷码(10110)转换为二进制

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值