数据的表示和运算
数制与编码
进位计数法
基数:每个数位所用到的不同符号的个数
基数大(十进制) | 基数小(二进制) | |
---|---|---|
位数 | 少 | 多 |
运算(乘法为例) | 100种情况 | 4种情况 |
进制转换(最重要)
75
\[十进制:7*10^1+5*10^0
\]
r进制:
\[K_nK_{n-1}K_{n-2}...K_2K_1K_0
\]
\[=K_n*r^n+K_{n-1}*r^{n-1}+...+K_2*r^2+K_1*r^1+K_0*r^0
\]
小数呢?
位权
十进制-》任意进制
整数
除,第一个余数是最后一位。
小数
乘进制,第一个数字就是第一位小数位
二进制——》四进制、八进制、十六进制
分组转换法,n位一组,每组转换成对应进制的符号
BCD码
二进制编码十进制
快速转换:一一对应。
- 8421码
- 余三码
- 2421码
二进制:0,1
十进制:0,1,2,3,4,5,6,7,8,9
8421码的映射关系:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 |
加6修正。
12 = 1 0010
4个二进制位——》16种不同的状态
BCD码直使用其中10种——》不同的映射方案
余三码:
\[余3码:8421码+(0011)_2
\]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 |
2421码:
改变权值定义
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
0000 | 0001 | 0010 | 0011 | 0100 | 1011 | 1100 | 1101 | 1110 | 1111 |
字符与字符串
ASCII码
数字字母符号——》共128个字符——》7位二进制编码——》ASCII码
可印刷字符:32~126
字符串
多个字符排列到一起,连续
字符串:IF_A>B_THEN_READ(C)_
大端模式:存储单元内先存储高位字节、后存储低位字节的顺序
用ASCII存放。
小端模式:存储单元内先存储低位字节、后存储高位字节的顺序
汉字的表示和编码
GB 2312-80:汉字+各种符号共7445个
区位码:94个区,每区94个位置
啊:16 01
10H 01H
+20H
国标码:30H 21H
+80H
汉字内码: B0H A1H
输入编码
汉字字形编码
校验码
校验原理简介
奇校验:保证一段数据中出现奇数个1
仅需1位
奇偶校验码
奇校验码:整个校验码(有效信息位和校验位)中“1”的个数为奇数。
偶校验码:整个校验码(有效信息位和校验位)中“1”的个数为偶数。
一下子错几个就发现不了了。
海明校验码
多重奇偶校验码
海明码设计思路:分组校验—》多个校验位 ——》校验位标注出出错位置
1010——》1011
校验位:001
n | 1 | 2-4 | 5-11 | 12-26 | 27-57 | 58-120 |
---|---|---|---|---|---|---|
k | 2 | 3 | 4 | 5 | 6 | 7 |
海明码求解步骤
循环冗余校验码
会做题即可
模二除法
对应的CRC码:101001 001