码制 || BCD码 || 格雷码 || 奇偶校验码 || 字母数字码

1 二—十进制码(BCD)

你好,我们已经知道,数字系统一般采用二进制进行运算,但人们习惯采用十进制数进行读写,因此需要对十进制数进行二进制编码,从而提供与二进制系统的接口。这种编码叫做二-十进制码,或者BCD码(Binary Coded Decimal)。

常见的几种BCD码为:8421码、54221码、2421码、余三码。

前面的 8421码、5421码、2421码是有权码,8421、5421、2421即为相应系数的权值。

余三码是无权码,它是在8421码的基础上加上二进制数0011得到的。

下面是各种BCD码对应十进制数的表格,根据规律熟记即可。( 这里务必一个一个的看一遍,不然可能会出现小问题,比如,对于2421码,用谁表示7 ?是1101?还是0111?)

用BCD码表示十进制数,只要用对应的4位码代替每个十进制数字即可。下面有几个例子。

2 格雷码(Gray码)

前面学习了BCD码,现在来看一下其它编码。

格雷码位无权码,特点为:相邻两个代码之间仅有一位不同,其余各位均相同。

下图展示了从0到9的各位格雷码,可以看出他们确实相邻两个代码之间仅有一位不同。

下图说明了二进制码与格雷码的转换关系,

3 奇偶校验码和字符数字码

除了数字以外,数字系统还需要处理字母、标点符号,控制命令等。我们把这种表示数字、字母和其它控制符号的编码叫做字母数字码。

在字母数字码中,最常见的是ASCII码,通常用在计算机和其它电子设备上。当你在计算机键盘上输入一个数字、字母或者控制命令时,键盘内的数字电路或者微处理器会产生相应的ASCII码送到计算机。ASCII码是7位二进制码,有128种组合。,表示128个符号。下面是几个例子。

ASCII码也可以表示为8位,最高位为0。方便起见,可以用16进制表示,范围从00到7F。

如果把8位的最高位用1表示,则又可以表示另外的128个符号,把这种编码叫做扩展ASCII码,用十六进制表示十,范围从80到FF,可以用来表示希腊字母、数学符号等。

在数字系统中,经常要进行二进制信息的传输和存取。在信息的传输或者存取过程中,会由于受到某种干扰而发生错误。因此需要对接收到的信息或者读取的信息进行检错或者纠错,从而出现了检错编码和纠错编码。

3.1 奇偶校验码

奇偶校验码是一种简单的检错编码。

它是在原码组的基础上增加一个比特,使码组中含1的个数为偶数或者奇数。

如果使码组中含1的个数为偶数,则称为偶校验;如果使码组中含1的个数为奇数,则称为奇校验。

在一个给定的系统中,要么采用偶校验,要么采用奇校验。不能两者整体使用。

我们以8421BCD码的偶校验为例来说明偶校验是怎么工作的,如下表所示,第一个码组0000,由于含1的个数为0,因此增加的偶校验位为0,使总的含1个数为偶数,第二个第三个...依此类推。

在接收端,检测偶校验码码组中1的个数,如果1的个数为偶数,表示传输没有错误;如果1的个数为奇数,则表示传输出现了错误。

注意,奇偶校验不能检测两位同时出错的情形。因此奇偶校验码仅适用于传输出错率很低,而且成对出现错误的概率几乎为零的情况。

这部分到这里就结束了。

参考视频链接:第一单元 数字逻辑基础-第二讲 码制-视频3

二进制转8421bcd码_码制 || BCD码 || 格雷码 || 奇偶校验码 || 字母数字码 || 数电相关推荐

  1. 软考学习笔记1-计算机数字的码制(原码,反码,补码,移码,奇偶校验码,海明码以及循环冗余码)表示

    机器数有:0表示正号,1表示负号 1. 原码 以八位二进制为例,第一位是符号位: 则原码的取值范围是[1111 1111,0111 1111],也就是[-127,+127] Eg:A=+10 0101 ...

  2. 开源项目实例源码_今年我读了四个开源项目的源码,来分享下心得

    今年来看了 RocketMQ.Kafka.Dubbo .Tomcat 的源码,之前也有读者询问过如何读源码,索性就来分享一下. 其实还看了一点点 Linux.Redis.jdk8,这几个阅读的目的和上 ...

  3. app商城源码_海量的SpringBoot和SSM项目【附带源码+视频教程】快速成为全栈

    为了帮助更多的小伙伴进行项目的锻炼,孟哥整理较多的实战项目,包括SSM.Springboot.Springcloud.小程序等. 各种项目还在不断的更新中--仅限制学习使用,若有侵权,请联系删除. 点 ...

  4. php mysql婚纱摄影网站源码_织梦大气婚纱影楼摄影企业网站模板源码 v5.7

    织梦大气婚纱影楼摄影企业网站模板源码安装教程: 1.将下载的织梦源码全部传到空间根目录,由于有很多人反应安装后首页样式都乱的,(强烈要求安装到根目录,如:127.0.0.1 / www.xxx.com ...

  5. 利用全加器实现7段数码管_显示译码器 || 7段数码管 || 7段LCD || 7448 || 数电

    显示译码器 || 7段数码管 || 7段LCD || 7448 || 数电 1数码显示器件 在介绍显示译码器之前,先介绍一下常用的数码显示器件,可以分为 半导体显示器 液晶显示器 荧光数码管 辉光数码 ...

  6. c++ 转bcd码_还不会看汽车自诊断系统的故障码?三分钟教你怎么解决

    自从我国2010年实行国四标准以来,所有的汽车都会被要求安装OBD系统,也就是车载自动诊断系统.这个系统的好处就在于可以对汽车的各项配置进行监测,出现问题时会进行报警,会通过故障码告诉你汽车的故障部位 ...

  7. java.lang.object源码_第三篇:java.lang.Object 类源码分析

    Object所包含的方法如下: ① public Object(); 构造函数: 大部分情况下,类对象的声明,都是通过构造函数完成的(Java中规定:在类定义过程中,对于未定义构造函数的类,默认会有一 ...

  8. html页面源码_整合SpringMVC之错误处理底层原理及源码分析

    一. SpringBoot的默认错误处理策略 1. 对404的默认处理策略 我们在发送请求的时候,如果发生了404异常,SpringBoot是怎么处理的呢? 我们可以随便发送一个不存在的请求来验证一下 ...

  9. 生鲜配送小程序源码_生鲜社区团购配送系统小程序源码搭建平台模式

    生鲜配送系统开发,找[金生157威6875店2419同号]生鲜配送模式开发,生鲜配送软件开发,生鲜配送APP开发,生鲜配送平台开发平台,生鲜配送系统源码开发平台,生鲜配送系统平台,生鲜配送系统定制开发 ...

  10. vim ctags java源码_如何使用vim的插件Ctags查看Linux源码

    一.ubuntu下安装Linux内核源码 (1).查看自己的内核版本 (2).查看源内的内核源码类表 (3).下载源码 (4).进入/usr/src (5).解压下载的文件到用户主 二.安装vim插件 ...

最新文章

  1. python 随机生成密码
  2. C语言逆序字符串数组,【C语言】利用栈将数组中字符串逆序
  3. 内存管理中的几种地址类型
  4. boost::mp11::mp_list_c相关用法的测试程序
  5. 每日程序C语言25-查找100以内的素数
  6. jq php上传图片插件,ajaxImageUpload
  7. Typora + PicGo + Aliyun OSS + CSDN
  8. flink sql设置并行度_Flink原理——任务调度原理
  9. java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.setId
  10. position学习终结者(二)
  11. GDK获得各种scale factor
  12. oracle sql 拆分字符串,oracle 拆分字符串
  13. html5跳转页面接收参数,HTML页面跳转及参数传递问题
  14. 闵行区电动自行车上牌地址
  15. td-agent(Fluentd)的使用
  16. HTML怎么给文本添加删除线?(代码示例)
  17. Mac OS无法进入系统/数据备份/重装系统方法步骤
  18. linux远程登录maridb,linux – 无法使用phpMyAdmin登录到远程MariaDB服务器,但在shell中工作...
  19. Linux - 常见端口和服务的对照和解释
  20. 手把手教你使用PHP生成推广海报

热门文章

  1. phaser3场景中的图片缩放scale
  2. 佛蒙特州政府组建工作组以探索区块链技术
  3. html视频倍速播放,如何让网页视频倍速播放
  4. 乔布斯人物介绍PPT模板
  5. Linux - 麒麟17.04 删除桌面图标(计算机,主文件夹,回收站)与 Cairo-Dock 安装配置
  6. python 正则表达式 sub_Python 正则表达式:sub
  7. 一文读懂 ChIPseq
  8. 什么是1u服务器;服务器中的u是什么意思
  9. Debian10安装部署DNS服务-正向解析篇
  10. 毕业设计 基于STM32厨房环境监控报警系统