第一章 数制和码制
- 任意进制 ( N (N (N进制 )数展开式的普遍形式,其中N成为权。 D = ∑ k i N i D=\sum k_{i} N^{i} D=∑kiNi
常用的数制
- 十进制: D = ∑ k i × 1 0 i D=\sum k_i \times 10^i D=∑ki×10i 例题: ( 143.75 ) 10 = 1 ∗ 1 0 2 + 4 × 1 0 1 + 3 ∗ 1 0 0 + 7 ∗ 1 0 − 1 + 5 ∗ 1 0 − 2 (143.75)_{10}=1*10^2+4×10^1+3*10^0+7*10^{-1}+5*10^{-2} (143.75)10=1∗102+4×101+3∗100+7∗10−1+5∗10−2
- 二进制: D = ∑ k i × 2 i D=\sum k_i \times 2^i D=∑ki×2i 例题: ( 101.11 ) 2 = 1 ∗ 2 2 + 0 ∗ 2 1 + 1 ∗ 2 − 1 + 1 ∗ 2 − 2 = ( 5.57 ) 10 (101.11)_2=1*2^2+0*2^1+1*2^{-1}+1*2^{-2} =(5.57)_{10} (101.11)2=1∗22+0∗21+1∗2−1+1∗2−2=(5.57)10
- 八进制: D = ∑ k i × 8 i D=\sum k_i \times 8^i D=∑ki×8i 例题: ( 12.4 ) 8 = 1 ∗ 8 1 + 2 ∗ 8 0 + 4 ∗ 8 − 1 = ( 10.5 ) 10 (12.4)_8=1*8^1+2*8^0+4*8^{-1}=(10.5)_{10} (12.4)8=1∗81+2∗80+4∗8−1=(10.5)10
- 十六制: D = ∑ k i × 1 6 i D=\sum k_i \times 16^i D=∑ki×16i 例题: ( 2 A . 7 F ) 16 = 2 × 1 6 1 + 10 × 1 6 0 + 7 × 1 6 p − 1 + 15 ∗ 1 6 − 2 = ( 42.4960937 ) 10 (2A.7F)_{16}=2×16^1+10×16^0+7×16^p{-1}+15*16^{-2} =(42.4960937)_{10} (2A.7F)16=2×161+10×160+7×16p−1+15∗16−2=(42.4960937)10
- 知识补充 : 数字0到9和字母A到F (或a~f) 表示0~16,其中 : AF表示1015。
不同数制之间的转换
-
十进制转二进制
-
十进制整数部分转换成二进制:
-
十进制小数部分转换成二进制:
-
-
二进制转换成十六进制
-
转换例题: ( 0101110.10110010 ) (0101110.10110010) (0101110.10110010) 化为十六进制数时可得【如果要将十六进制转换成二进制反用即可】 ( 0101 1110. 1011 0010 ) 2 ↓ ↓ ↓ ↓ = ( 5 E . B 2 ) 16 \\ \ \ \ \ \ (0101 \quad 1110. \quad 1011 \quad 0010)_2 \\ \ \ \ \ \ \quad \downarrow \quad \quad \ \ \ \downarrow \quad \quad \ \ \ \downarrow \ \ \ \quad \quad \downarrow \\= \ (\ \ 5 \ \ \ \ \ \ \ \ \ \ E. \ \ \ \ \ \quad B \ \ \ \qquad2 \ )_{16} (01011110.10110010)2 ↓ ↓ ↓ ↓= ( 5 E. B 2 )16
-
原理: 把4 位二进制数看作一个整体时有 16个状态,它的进位输出又正好是逢十六进一
-
-
二进制转换成二进制
- 转换例题: ( 011110.010111 ) (011110.010111) (011110.010111) 化为八进制数可得【如果要将八进制转换成二进制反用即可】 ( 011 110. 010 111 ) 2 ↓ ↓ ↓ ↓ = ( 3 6. 2 7 ) 16 \\ \ \ \ \ \ (011 \quad 110. \quad 010 \quad 111)_2 \\ \ \ \ \ \quad \downarrow \quad \quad \ \downarrow \quad \quad \ \downarrow \ \ \ \quad \ \downarrow \\= \ (\ 3 \ \ \ \ \ \ \ \ \ 6. \ \ \ \ \quad 2 \qquad 7 \ )_{16} (011110.010111)2 ↓ ↓ ↓ ↓= ( 3 6. 27 )16
-
二进制数的计算【带符号二进制数】
- 特点: 逢二进一 保留小数时舍0进1;
- 二进制中负数的符号位是1,正数的符号位的 0;
- 正数的 二进制原码,反码,补码均相同的,都为原码的形式
- 补码 : 原码符号位不变,其余各位取反最后再加上 1 得到补码
- 反码:原码符号位不变,其余各位取反 得到反码
常见的十进制编码
格雷码
- 格雷码的特点:
- 反射特性:除了最高位不相同,格雷码上下可以折叠犹如镜面
- 循环特性:最高位的格雷码和最低位的格雷码只是相差了一个码位
- **无权码:相邻的格雷码之间只有一位不同 **** **
- 格雷码的优点【不考】
- 有利于代码的转换和传输 : 相邻的格雷码之间只有一位变化,没有过渡噪声。而其他的编码方式会有好几位,这个过程会产生过渡噪声,影响电路的工作。
- 消除了随机取数时出现重大失误的可能
- 格雷码的编码原理【考】
- 二进制码 B 从高位到低位分别为 b 1 b 2 b 3 b 4 … b n \mathbf{b}_{1} \mathbf{b}_{2} \mathbf{b}_{3} \mathbf{b}_{4} \ldots \mathbf{b} \mathbf{n} b1b2b3b4…bn B对应的格雷码G从高位到低位依次为 g 1 g 2 g 3 g 4 … g n \mathbf{g}_{1} \mathbf{~g}_{2} \mathbf{~g}_{3} \mathbf{~g}_{4} \ldots \mathbf{g}_{\mathbf{n}} g1 g2 g3 g4…gn
- 具体编码规则如下: g 1 = b 1 ⊕ 0 g 2 = b 2 ⊕ b 1 g 3 = b 3 ⊕ b 2 ⋯ ⋯ ⋯ g n = b n ⊕ b n − 1 g_1=b_1\oplus0 \\ g_2=b_2\oplus b_1 \\ g_3=b_3\oplus b2 \\ \ \ \ \ \ \cdots \cdots \cdots \\ g_n=b_n \oplus b_{n-1} g1=b1⊕0g2=b2⊕b1g3=b3⊕b2 ⋯⋯⋯gn=bn⊕bn−1
- 一句话概括 : 二进制转化为格雷码时,最高位保持不变, 每一位和前一位异或即可得到格雷码
- 例题: 网上有【后续补充】