大家好,欢迎来到IT知识分享网。
1.5 几种常用的编码
一、十进制代码
为了用二进制代码表示十进制数的0-9这十个状态,二进制代码至少应当有4位。4位二进制代码一共有十六个(0000~1111),取其中哪十个以及如何与0-9相对应,有许多种方案。表1.5.1中列出了常见的几种十进制代码,它们的编码规则各不相同。
表1.5.1 几种常见的十进制代码
| 十进制数 | 8421码(BCD代码) | 余3码 | 2421码 | 5211码 | 余3循环码 |
|---|---|---|---|---|---|
| 0 | 0000 | 0011 | 0000 | 0000 | 1010 |
| 1 | 0001 | 0100 | 0001 | 0001 | 1011 |
| 2 | 0010 | 0101 | 0010 | 0010 | 1100 |
| 3 | 0011 | 0110 | 0011 | 0011 | 1101 |
| 4 | 0100 | 0111 | 0100 | 0100 | 1110 |
| 5 | 0101 | 1000 | 1011 | 0101 | 1111 |
| 6 | 0110 | 1001 | 1100 | 0110 | 1000 |
| 7 | 0111 | 1010 | 1101 | 0111 | 1001 |
| 8 | 1000 | 1011 | 1110 | 1000 | 0000 |
| 9 | 1001 | 1100 | 1111 | 1001 | 0001 |
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顺序循环变化,右边第二位的状态按00顺序循环变化,右边第三位按00000顺序循环变化。可见,自右向左,每一位状态循环中连续的0、1数目增加一倍。由于4位格雷码只有16个,所以最左边一位的状态只有半个循环,即00000000。按照上述原则,我们就很容易得到更多位数的格雷码。
与普通的二进制代码相比,格雷码的最大优点就在于当它按照表1.5.2的编码顺序依次变化时,相邻两个代码之间只有一位发生变化。这样在代码转换的过程中就不会产生过渡“噪声”。而在普通二进制代码的转换过程中,则有时会产生过渡噪声。例如,第四行的二进制代码0011转换为第五行的0100过程中,如果最右边一位的变化比其他两位的变化慢,就会在一个极短的瞬间出现0101状态,这个状态将成为转换过程中出现的噪声。而在第四行的格雷码0010向第五行的0110转换过程中则不会出现过渡噪声。这种过渡噪声在有些情况下甚至会影响电路的正常工作,这时就必须采取措施加以避免。
表1.5.2 4位格雷码与二进制代码的比较
| 编码顺序 | 二进制代码 | 格雷码 |
|---|---|---|
| 0 | 0000 | 0000 |
| 1 | 0001 | 0001 |
| 2 | 0010 | 0011 |
| 3 | 0011 | 0010 |
| 4 | 0100 | 0110 |
| 5 | 0101 | 0111 |
| 6 | 0110 | 0101 |
| 7 | 0111 | 0100 |
| 8 | 1000 | 1100 |
| 9 | 1001 | 1101 |
| 10 | 1010 | 1111 |
| 11 | 1011 | 1110 |
| 12 | 1100 | 1010 |
| 13 | 1101 | 1011 |
| 14 | 1110 | 1001 |
| 15 | 1111 | 1000 |
十进制代码中的余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₄ | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 000 | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
| 001 | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
| 010 | SP | ! | “ | # | $ | % | & | ‘ | ( | ) | * | + | , | – | . | / |
| 011 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 100 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 101 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 110 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 111 | p | q | r | s | t | u | v | w | x | y | z | { |
} | ~ |
表1.5.4 ASCII码中控制码的含义
| 代码 | 含义 |
|---|---|
| NUL | Null (空字符) |
| SOH | Start of Header (标题开始) |
| STX | Start of Text (正文开始) |
| ETX | End of Text (文本结束) |
| EOT | End of Transmission (传输结束) |
| ENQ | Enquiry (请求) |
| ACK | Acknowledge (确认) |
| BEL | Bell (响铃) |
| BS | Backspace (退格) |
| HT | Horizontal Tab (水平制表) |
| LF | Line Feed (换行) |
| VT | Vertical Tab (垂直制表) |
| FF | Form Feed (换页) |
| CR | Carriage Return (回车) |
| SO | Shift Out (移出) |
| SI | Shift In (移入) |
| DLE | Data Link Escape (数据链路转义) |
| DC1 | Device Control 1 (设备控制1) |
| DC2 | Device Control 2 (设备控制2) |
| DC3 | Device Control 3 (设备控制3) |
| DC4 | Device Control 4 (设备控制4) |
| NAK | Negative Acknowledge (否定确认) |
| SYN | Synchronous Idle (同步空闲) |
| ETB | End of Transmission Block (传输块结束) |
| CAN | Cancel (取消) |
| EM | End of Medium (介质结束) |
| SUB | Substitute (替换) |
| ESC | Escape (转义) |
| FS | File Separator (文件分隔符) |
| GS | Group Separator (组分隔符) |
| RS | Record Separator (记录分隔符) |
| US | Unit Separator (单元分隔符) |
| SP | Space (空格) |
| DEL | Delete (删除) |
通过这些编码,计算机和通信系统可以更高效地处理、存储和传输信息。ASCII码已经成为计算机和通信领域中使用最广泛的标准代码之一。
总结
以上介绍了几种常见的编码方式,包括十进制代码、格雷码和ASCII码。每种编码方式都有其独特的应用场景和优点。例如,8421码广泛用于十进制数表示,格雷码在减少过渡噪声方面具有优势,而ASCII码是计算机和通信领域中的通用标准。这些编码方法为数据处理和信息交换提供了重要的基础。




免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121117.html


