计算机数的表示 - 数制
进位计数法:
四进制中没有十进制的10,所以取超过10的最近的数
进制转换
转换为十进制
十进制转化为其他进制
方法一: 分为整数部分(÷)和小数部分(×)
整数部分: 除法取余数,乘法取整数
方法二:以转二进制举例
2^n进制之间的转化
n位一组法 (二进制为核心)
二转其他:合着看
其他转二:拆成二
四进制看二进制:2个2 个看
八进制看二进制:3个3个看
十六进制看二进制:4个4个看
计算机数的表示 -编码
BCD码
8421 8421 8421 8421 8421
十进制: 5 + 8 = 13
0101 + 1000 = 0001 0011
bcd尽量不要直接相加,转化为十进制 ,算出结果之后再转回BCD码
如果实在要BCD直接相加的话,需要+6修正
余三码
算出8421码之后 + (3)b
2421码
2421 2421 2421 2421
因为会出现相同的情况,所以默认5以上的第一个数是1
计算机字符的表示
字符-ASCII码
32~126之间 属于可以显示的 可印刷字符
65 A, 97a 相差了32个字符
字符串 - 大端模式和小端模式
汉字 - 区位码
通信过程 - 校验码
重点在于检验错误,而不在于纠错
码距:
00 01 里面有一个数字不同 码距为1
00 11 里面有两个数字不同 码距为2
很明显 底下的抗干扰能力强,容易发现错误
所以码距,指的是不同位的个数
奇偶校验码
奇校验:一段数据中出现奇数个1
在首部(校验位) 上 添加1 / 0 使其变成 奇校验 / 偶校验
汉明校验码
广泛运用的一种校验码
把一个数据,分为几组,分别派发到几组奇偶校验码中
理解: n个数据中,插入k个校验位 构成n+k个数据组成的新的数据
解题步骤:
1.先确定这段数据要插入几个校验位(海明码的位数)
2.确定这些校验位在数据中的分布 (规律自定,这里的规律是2^i-1位置上)
3.确定校验码对应的值
(这里用H5~H7 对应位的偶校验(欧异或) 推理出P3~P1) : 含有1的部分进行异或
异或: 不同为1
4.纠错
循环冗余校验码CRC码
信息位K+校验位R
这里的校验位R是最高次幂次幂数
解题步骤:
1. 确定信息位K , 找到多项式最高次幂R =>校验码位数N=K+R
2.把信息位K左移R位,低位补零
3.找到多项式系数 对应二进制码 ,
4.用位移后的信息位 除 多项式系数对应二进制码
(除法过程中用的是不借位减法 :
取位:最高位都是1,除的时候就取1 红色
减法: 除了1-1=0 ,其余都是1 蓝色)
5.得到的余数就是校验位6.纠错
总结
计算机的运算方法
运算器的设计