1.5 几种常用的编码

 

1.5 几种常用的编码

一、十进制代码

为了用二进制代码表示十进制数的0-9这十个状态,二进制代码至少应当有4位。4位二进制代码一共有十六个(0000~1111),取其中哪十个以及如何与0-9相对应,有许多种方案。表1.5.1中列出了常见的几种十进制代码,它们的编码规则各不相同。

表1.5.1 几种常见的十进制代码
十进制数8421码(BCD代码)余3码2421码5211码余3循环码
000000011000000001010
100010100000100011011
200100101001000101100
300110110001100111101
401000111010001001110
501011000101101011111
601101001110001101000
701111010110101111001
810001011111010000000
910011100111110010001

8421码(BCD代码)是十进制代码中最常用的一种。在这种编码方式中,每一位二值代码的1都代表一个固定数值,将每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。由于代码中从左到右每一位的1分别表示8、4、2、1,所以将这种代码称为8421码。每一位的1代表的十进制数称为这一位的权。8421码中每一位的权是固定不变的,它属于恒权代码。

余3码的编码规则与8421码不同,如果把每一个余3码看作4位二进制数,则它的数值要比它所表示的十进制数码多3,故而将这种代码称为余3码。余3码不是恒权代码,0和9、1和8、2和7、3和6、4和5的余3码互为反码,这对于求取对10的补码是很方便的。

2421码是一种恒权代码,它的0和9、1和8、2和7、3和6、4和5也互为反码,这个特点和余3码相仿。

5211码是另一种恒权代码。如果按8421码接成十进制计数器,则连续输入计数脉冲时,4个触发器输出脉冲对于计数脉冲的分频比从低位到高位依次为5:2:1:1。5211码每一位的权正好与8421码十进制计数器4个触发器输出脉冲的分频比相对应。这种对应关系在构成某些数字系统时很有用。

余3循环码是一种变权码,每一位的1在不同代码中并不代表固定的数值。它的主要特点是相邻的两个代码之间仅有一位的状态不同。

二、格雷码

格雷码(Gray Code)又称循环码。从表1.5.2的4位格雷码编码表中可以看出格雷码的构成方法,这就是每一位的状态变化都按一定的顺序循环。如果从0000开始,最右边一位的状态按0110顺序循环变化,右边第二位的状态按00111100顺序循环变化,右边第三位按0000111111110000顺序循环变化。可见,自右向左,每一位状态循环中连续的0、1数目增加一倍。由于4位格雷码只有16个,所以最左边一位的状态只有半个循环,即00000000111111。按照上述原则,我们就很容易得到更多位数的格雷码。

与普通的二进制代码相比,格雷码的最大优点就在于当它按照表1.5.2的编码顺序依次变化时,相邻两个代码之间只有一位发生变化。这样在代码转换的过程中就不会产生过渡“噪声”。而在普通二进制代码的转换过程中,则有时会产生过渡噪声。例如,第四行的二进制代码0011转换为第五行的0100过程中,如果最右边一位的变化比其他两位的变化慢,就会在一个极短的瞬间出现0101状态,这个状态将成为转换过程中出现的噪声。而在第四行的格雷码0010向第五行的0110转换过程中则不会出现过渡噪声。这种过渡噪声在有些情况下甚至会影响电路的正常工作,这时就必须采取措施加以避免。

表1.5.2 4位格雷码与二进制代码的比较
编码顺序二进制代码格雷码
000000000
100010001
200100011
300110010
401000110
501010111
601100101
701110100
810001100
910011101
1010101111
1110111110
1211001010
1311011011
1411101001
1511111000

十进制代码中的余3循环码就是取4位格雷码中的十个代码组成的,它仍然具有格雷码的优点,即两个相邻代码之间仅有一位不同。

三、美国信息交换标准代码 (ASCII)

美国信息交换标准代码(American Standard Code for Information Interchange,简称ASCII码)是由美国国家标准化协会(ANSI)制定的一种信息代码,广泛地用于计算机和通信领域中。ASCII码已经由国际标准化组织(ISO)认定为国际通用的标准代码。

ASCII码是一组7位二进制代码(b₇b₆b₅b₄b₃b₂b₁),共128个,其中包括表示0-9的十个代码,表示大、小写英文字母的52个代码,32个表示各种符号的代码以及34个控制码。表1.5.3是ASCII码的编码表,每个控制码在计算机操作中的含义列于表1.5.4中。

表1.5.3 美国信息交换标准代码 (ASCII码) (续)
b₇b₆b₅b₄0000000100100011010001010110011110001001101010111100110111101111
000NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI
001DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS
010SP!"#$%&'()*+,-./
0110123456789:;<=>?
100@ABCDEFGHIJKLMNO
101PQRSTUVWXYZ[\]^_
110`abcdefghijklmno
111pqrstuvwxyz{}~
表1.5.4 ASCII码中控制码的含义
代码含义
NULNull (空字符)
SOHStart of Header (标题开始)
STXStart of Text (正文开始)
ETXEnd of Text (文本结束)
EOTEnd of Transmission (传输结束)
ENQEnquiry (请求)
ACKAcknowledge (确认)
BELBell (响铃)
BSBackspace (退格)
HTHorizontal Tab (水平制表)
LFLine Feed (换行)
VTVertical Tab (垂直制表)
FFForm Feed (换页)
CRCarriage Return (回车)
SOShift Out (移出)
SIShift In (移入)
DLEData Link Escape (数据链路转义)
DC1Device Control 1 (设备控制1)
DC2Device Control 2 (设备控制2)
DC3Device Control 3 (设备控制3)
DC4Device Control 4 (设备控制4)
NAKNegative Acknowledge (否定确认)
SYNSynchronous Idle (同步空闲)
ETBEnd of Transmission Block (传输块结束)
CANCancel (取消)
EMEnd of Medium (介质结束)
SUBSubstitute (替换)
ESCEscape (转义)
FSFile Separator (文件分隔符)
GSGroup Separator (组分隔符)
RSRecord Separator (记录分隔符)
USUnit Separator (单元分隔符)
SPSpace (空格)
DELDelete (删除)

通过这些编码,计算机和通信系统可以更高效地处理、存储和传输信息。ASCII码已经成为计算机和通信领域中使用最广泛的标准代码之一。

总结

以上介绍了几种常见的编码方式,包括十进制代码、格雷码和ASCII码。每种编码方式都有其独特的应用场景和优点。例如,8421码广泛用于十进制数表示,格雷码在减少过渡噪声方面具有优势,而ASCII码是计算机和通信领域中的通用标准。这些编码方法为数据处理和信息交换提供了重要的基础。

 

 

 

 

 

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏驰和徐策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值