• 二-十进制码(BCD码)

    在目前的数字系统中,一般是采用二进制数进行运算的,但是由于人们习惯采用十进制数,因此常需进行十进制数和二进制数之间的转换,其转换方法上面已讨论过了。为了便于数字系统处理十进制数,经常还采用编码的方法,即以若干位二进制码来表示1位十进制数,这种代码称为二进制编码的十进制数,简称二-十进制码,或BCD码(Binary Coded Decimal Codes)。

    因为十进制数有0~9共10个计数符号,为了表示这10个符号中的某一个,至少需要4位二进制码。4位二进制码有24=16种不同组合,我们可以在16种不同的组合代码中任选10种表示十进制数的10个不同计数符号。根据这种要求可供选择的方法是很多的,选择方法不同,就得到不同的编码形式。常见的有8421码、5421码、2421码和余3码等。



    有权BCD码

    表中的8421、5421、2421为有权编码。

    例如,对8421码而言,二进制码各位的权从高位到低位依次为8,4,2,1,如(0110)8421BCD所代表的十进制数为:0×8+1×4+1×2+0×1=6。又例如,对5421码而言,二进制码各位的权从高位到低位依次为5,4,2,1,所以(1010)5421BCD所代表的十进制数为:1×5+0×4+1×2+0×1=7

    8421码十最常用的,因为他的权位规定与二进制的一致,是唯一的,其他两种就不是。

    例如,数字6的2421编码可以是1100和0110;数字7的5421编码可以是0111和1010。

    无权BCD码

    无权码每位的权并不确定。因此不能用按权展开的方法来求它所代表的十进制数。无权码在数字系统中不能进行数值运算。但是这些代码都有其特点,在不同的场合可以根据需要选用。

    余3 BCD码属无权码,它是在每个对应的8421BCD代码上加(3)10=(0011)2而得到的。例如,十进制数6在8421BCD码中为0110,将它加(3)10,得到的1001即为十进制数6的余3码。在余3码的编码中,十进制数0和9、1和8、2和7、3和6、4和5对应位的码互为反码(一个是0,另一个是1),具有这种特性的代码称为自反代码。在表1.2中的2421码也是自反代码,但需注意,不是所有的2421码都是自反代码。
  • 格雷码

    格雷码(Gray码)是一种常见的无权码,其编码如表1.3所示。这种码的特点是:相邻两个代码之间仅有1位不同,其余各位均相同。具有这种特点的码称为循环码,故格雷码是一种循环码。格雷码的这个特点使它在代码形成与传输中引起的误差较小。例如在模拟量到数字量的转换设备中,当模拟量发生微小变化而可能引起数字量发生变化时,格雷码仅改变1位,这样与其他码同时改变2位或多位的情况相比更为可靠,即减小了出错的可能性。

  • 奇偶校验码

    奇偶校验码是一种具有检错能力的代码,它是在原代码(称为信息码)的基础上增加一个码位(称为校验码、校验位或附加位),使代码中含有的1的个数均为奇数(称为奇校验)或偶数(称为偶校验),这样通过检查代码中含有的1的数目的奇偶性来判别代码的合法性。显然,信号在传送过程中如果代码有两位出错,则这种奇偶校验法是无法检测的,因为两位出错不会改变代码中含1码个数的奇偶性。所以,奇偶校验码仅适用于信号出错率很低,且出现成对错误的概率基本为0的情况。

  • 字符数字码

    除了数字数据外,计算机还必须能处理非数字信息。即计算机应能识别表示字母、标点符号和其他特殊符号以及数字的代码。这些代码叫做字符数字码。一个完整的字符数字码应包括26个小写英文字母、26个大写英文字母、10个数字符号、7个标点符号,以及其他20~40个特殊符号,如+、/、#、%、*等。也就是说,字符数字码能表示计算机键盘上所看到的各种符号和功能键。

    美国信息交换的标准代码(简称ASCII)是应用最为广泛的字符数字码。ASCII码是7位码,因此有2的7次方=128种可能的代码组合。这足以表示标准键盘的字符、回车、换行等控制功能。表1.5列出了部分ASCII码,对于每一个符号,表中不仅给出了二进制码,而且给出了等值的八进制数和十六进制数。



    字符’0’的对应的ASCII十进制是48

    大写的字符‘A’的ASCII十进制是65

    小写的字符’a’的ASCII十进制是97

最新文章

  1. JavaScript使用封装
  2. Python函数参数学习笔记
  3. 转 :meta name的含义:<META http-equiv=Content-Type content="text/html; charset=gb2312">
  4. MongoDB 副本集管理(不定时更新)
  5. 使用文件模拟ASM磁盘
  6. 配置DNS服务器
  7. Listview和Gridview自定义分割线
  8. 去掉list重复值
  9. UVa 11762 - Race to 1
  10. UIScrollerView常见属性
  11. Unicode与 utf8的互相转换
  12. Hibernate配置详细解释
  13. one plus 1(一加1)刷 kali nethunter 教程
  14. 李清华201772020113《面向对象程序设计(java)》第十一周学习总结
  15. PS调出水彩画效果古装人物照片
  16. 【转】光盘和U盘安装win7和ubuntu14.04全步骤
  17. ajax请求json中的数据
  18. 重写equals和hashCode的方法
  19. js的序列化和反序列化
  20. 引用类(RC)

热门文章

  1. 源码的excel导入导出
  2. layer.js 中弹框显示不全的问题
  3. ansible 问题
  4. [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量
  5. [Redis]Redis的五种数据类型与键值/服务器相关命令
  6. 《CSAPP》符号解析
  7. 41 【docker】初识
  8. FortiGate安全策略说明
  9. 384. Shuffle an Array数组洗牌
  10. 50-用Python监听鼠标和键盘事件