- 原文链接: https://chowyi.com/《程序员教程(第三版)》学习笔记——02.BCD编码/
- 版权声明: 文章采用 CC BY-NC-SA 4.0 协议进行授权,转载请注明出处!
BCD编码
用4为二进制代码表示一位十进制数,成为二-十进制编码,简称BCD编码。因为2^4=16,而十进制数中只有0~9这10个数符,故有多种BCD编码。根据4为代码中的每一位是否有确定的权来划分,可分为有权码和无权码两类。
8421BCD码
8421码是应用最多的有权码,即4个二进制位的权从高到低分别为8,4,2,和1。
余3BCD码
余3码是在8421码的基础上,把每个数的代码加上0011后构成的。由于每一个码对应的8421BCD码之间相差3,故称为余3码。
格雷码
格雷码(Gray code),又叫循环二进制码或反射二进制码。格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式。
一般的,普通二进制码与格雷码可以按以下方法互相转换:
二进制码→格雷码(编码)
从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);
格雷码→二进制码(解码)
从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变)。
- 原文链接: https://chowyi.com/《程序员教程(第三版)》学习笔记——02.BCD编码/
- 版权声明: 文章采用 CC BY-NC-SA 4.0 协议进行授权,转载请注明出处!