8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系,转换以及简易方法

2021年9月6日 5点热度 0条评论 来源: 后台小白

8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系,转换以及简易方法

1. 有权码和无权码的包括

2.各种码值的介绍

  1. 8421码的简介

    8421码又称为BCD码,是十进代码中最常用的一种。在这种编码方式中,每一位二值代码的“1”都代表一个固定数值。将每位“1”所代表的 二进制数加起来就可以得到它所代表的十进制数字。因为代码中从左至右看每一位“1”分别代表数字“8”“4”“2”“1”,故得名8421码。其中每一位 “1”代表的十进制数称为这一位的权。因为每位的权都是固定不变的,所以8421码是恒权码。
    百度百科

  2. 类比8421BCD码 可以得到 5421码 2421码

    由此可知 8421码 5241码和2421码 都是 十进代码 只是最右面位的权值不同

  3. 余三码

    ** 余三码(余3码)是由8421BCD码加上0011形成的一种无权码 **,由于它的每个字符编码比相应的8421码多3,故称为余三码。BCD码的一种。余3码的特点:当两个十进制数的和是10时,相应的二进制编码正好是16,于是可自动产生进位信号,而不需修正。0和9, 1和8,……5和4的余3码互为反码,这在求对于10的补码很方便。
    余三码是一种对9的自补代码,因而可给运算带来方便。其次,在将两个余三码表示的十进制数相加时,能正确产生进位信号,但对“和”必须修正。修正的方法是:如果有进位,则结果加3;如果无进位,则结果减3。
    百度百科

  4. 格雷码

    在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。
    格雷码的介绍

    格雷码的特点

    1. 可靠性编码
      因为,虽然自然二进制码可以直接由数/模转换器转换成模拟信号,但在某些情况,例如从十进制的3转换为4时二进制码的每一位都要变,能使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它在相邻位间转换时,只有一位产生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。由于这种编码相邻的两个码组之间只有一位不同,因而在用于方向的转角位移量-数字量的转换中,当方向的转角位移量发生微小变化(而可能引起数字量发生变化时,格雷码仅改变一位,这样与其它编码同时改变两位或多位的情况相比更为可靠,即可减少出错的可能性。

    2. 绝对编码方式
      典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。

    3. 变权码
      每一位码没有固定的大小,很难直接进行比较大小和算术运算,也不能直接转换成液位信号,要经过一次码变换,变成自然二进制码,再由上位机读取

    4. 绝对编码方式的准权码
      典型格雷码是一种采用绝对编码方式的准权码,其权的绝对值为2^i-1(设最低位i=1)

    5. 格雷码的十进制数奇偶性与其码字中1的个数的奇偶性相同

  5. 余三循环码

    余3循环码是变权码,每一位的1并不代表固定的数值,它具有格雷码的优点,即两个相邻代码之间仅有一位的状态不同。 .

3几种码制之间的转换关系

十进制数 二进制 8421码 5421码 2421码 余三码 余三循环码
0 0000 0000 00000 0000 0011 0010
1 0001 0001 0001 0001 0100 0110
2 0010 0010 0010 0010 0101 0111
3 0011 0011 0011 0011 0110 0101
4 0100 0100 0100 0100 0111 0100
5 0101 0101 1000 1011 1000 1100
6 0110 0110 1001 1100 1001 1101
7 0111 0111 1010 1101 1010 1111
8 1000 1000 1011 1110 1011 1110
9 1001 1001 1100 1111 1100 1010

本人建议:码制之间的转换方法虽然有 但是不介意用 因为记住才是王道 但如果那个忘记了 可以用此方法进行演推

  1. 4位二进制码 和 8421码完全相同 所以可以直接转换

    注意

     BCD码 是四位 不可随意增删 0
    
  2. 8421码 转换成 5421码 (2421码)
    先转换十进制码值 然后再转换成 5421码(2421码)
    例如: (0110 1000 1001)8241BCD = (6 8 9)D =(1001 1011 1100)5421BCD = (1100 1110 1111)2421BCD码

    注意哦

     如果2421码 如果码值a>4 需要先权值追高位 依次进行转化就行了
    

    例如 a=5
    5-2=3 ······1
    3-4<0 ······0
    3-2=1 ······1
    1-1=0 ······1
    故:(5)D=(1011)2421BCD

  3. 余三码转换
    1. 8421码转换成余三码
      (abcd)8421码 + (0011) = (wxyz)余三码

    2. (h)D转化成余三码
      (h+3)D —> 4位二进制数=余三码
      如果不足四位在最左面补0

    3. 5421码 转换成余三码.

      1. 从左到右 如果左面第一位不是1
        (0bcd)5421码 + (0011) = (wxyz)余三码
      2. 从左到右 如果左面第一位是1
        5421码 和 余三码相同
    4. 格雷码

    原文作者:后台小白
    原文地址: https://blog.csdn.net/qq_34419418/article/details/103475189
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。