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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL的binlog日志详解

    binlog就是binarylog,二进制日志文件,这个文件记录了MySQL所有的DML操作。通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是非常重要的。MySQL5.7这个版本默认是不开启binlog日志的,具体的开启方式可以查看https://blog.csdn.net/king_kgh…

    2022年4月5日
    42
  • python—pyquery

    python—pyqueryPyQuery"""强大又灵活的网页解析库pipinstallpyquery官方文档http://pyquery.readthedocs.io/API风格和前段jquery相似"""初始化字符串初始化html=”’&lt;div&gt;&lt;ul&gt;&lt;liclass="item-0"&gt;first

    2022年6月1日
    40
  • IntelliJ idea 必备 好用 优秀 插件

    IntelliJ idea 必备 好用 优秀 插件1、AtomMaterialICons这是一个icon图片插件,有一个特别牛的功能就是可以优化idea流畅度,不知道是什么原理,现在这个插件成为了我必备插件2、FileExpander有了这个插件,有些小伙伴平时用的Jad工具就可以扔了,它能在Idea里直接打开Jar包3、GitToolBox这款插件现在我几乎离不开它。他能在项目上提示你还有多少文件没提交,远程还有多少文件没更新下来。还能在每一行代码上提示上次提交的时间。查版本提交问题的时候尤其方便4、MavenHelper

    2022年10月9日
    3
  • mysql使用set类型_java修改request请求参数

    mysql使用set类型_java修改request请求参数Iamtryingtosendmultipleimagestoserverbut,soIamstoringalltheimagesinonearraylist,butafterthatwhenIneedtosendtoserver,itshowserrornearline,,………………….conn.set…

    2025年10月21日
    3
  • sharePreference的几个重点

    sharePreference的几个重点

    2022年3月3日
    94
  • java 自行车_JAVA 2020款山地车盘点[通俗易懂]

    java 自行车_JAVA 2020款山地车盘点[通俗易懂]最近,笔者为大家带来了不少有关顶尖山地车型的文章,不少的观众老爷直呼看看就好,那今天我们就来看看入门山地车。JAVA作为近几年迅速崛起的国产品牌,推出的一系列产品中带着鲜明的“JAVA”风格。在山地市场上,JAVA主打入门车型,今天就让我们来看一看JAVA旗下的那些山地车。对啦,以下车型均可在JAVA旗舰店购买到哦。JAVAANIMA售价仅4500元的ANIMA采用JAVAADVANCENA…

    2022年7月7日
    84

发表回复

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

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