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

8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系,转换以及简易方法8421BCD码5421BCD码余三码格雷码余三循环码之间的关系,转换以及简易方法1.有权码和无权码的包括2.各种码值的介绍8421码的简介8421码又称为BCD码,是十进代码中最常用的一种。在这种编码方式中,每一位二值代码的“1”都代表一个固定数值。将每位“1”所代表的 二进制数加起来就可以得到它所代表的十进制数字。因为代码中从左至右看每一位“1”分别代表数字“8”“4…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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
    

    Jetbrains全家桶1年46,售后保障稳定

  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://javaforall.net/207168.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于pytorch卷积人脸表情识别–毕业设计「建议收藏」

    基于卷积神经网络的人脸表情识别前言毕业设计内容介绍卷积神经网络的设计卷积网络的模型卷积池化过程详细说明第一层卷积池化过程第二层卷积池化过程第三层卷积池化过程全连接层过程模型的训练过程卷积与池化原理模型如何训练模型的评估指标训练结果分析通过训练曲线分析通过混淆矩阵分析效果通过摄像头识别表情设计流程效果演示部分代码展示总结前言这篇文章记录一下我本科毕业设计的内容。我的课题是人脸表情识别,本来最开始按照历届学长的传统是采用MATLAB用传统的机器学习方法来实现分类的。但是鉴于我以前接触过一点点深度学习的内容,

    2022年4月11日
    162
  • Masonry 源码解读(下)

    Masonry 源码解读(下)

    2021年5月27日
    118
  • LeetCode :: Validate Binary Search Tree[具体分析]

    LeetCode :: Validate Binary Search Tree[具体分析]

    2022年1月3日
    54
  • 靠!我被项目经理和同事嘲笑了,因为不会远程debug调试…「建议收藏」

    大家好,我是曹尼玛,刚从培训机构毕业,去一家单位上班一周了…这一周项目经理让我熟悉了项目业务,架构和设计,不算难,凭借我培训机构第一名的成绩,还是很顺溜。今天项目经理把同事们叫到一起,说线上438×6项目出现奇葩问题,但是开发环境初步测试没问题,需要配合测试部的小姐姐们在测试环境远程debug跟踪下,排查下问题,以及正式环境日志也会提供,重现下问题,解决下bug;项目经理见我这几天比较悠闲所以就对我说,“曹尼玛,这个小任务就交给你了”“我,我,我,我不会远程debug,没听过什么是远程d.

    2022年4月6日
    49
  • 好看的ppt网站_全球最大的论坛是哪个

    好看的ppt网站_全球最大的论坛是哪个www.slideshare.net

    2022年8月3日
    6
  • java中高级面试题总结(全面)_java高级面试题大汇总

    java中高级面试题总结(全面)_java高级面试题大汇总参考了网上的面试题,整理了一份面试题的资料。String,StringBuffer,StringBuilder的区别是什么?String为什么是不可变的?String是字符串常量,后两者是字符串变量。其中,StringBuffer是线程安全的,而StringBuilder是非线程安全的,线程安全会带来额外的开销,所以StringBuilde

    2022年8月21日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号