首先先写出我总结的公式:
## 二进制
解释:由0和1表示数值的一种规范
十进制转二进制:
使用短除法进行计算,每一次都使用最大整数商作为下一个被除数,每一次计算得出当前余数,最后将余数从下往上写即可。
验算:
1*2^0 = 1
1*2^1 = 2
0*2^2 = 0
1*2^3 = 8
8+0+2+1 = 11
八进制
解释:由0-7表示数值的一种规范
与二进制相同的计算过程
验算:
7*8^0 = 7
5*8^1 = 40
1*8^2 = 64
64 + 40 + 7 = 111
十六进制
解释:用0-9 A-F 表示数值的一种规范
与二进制和八进制的算法一样,当计算得到的余数大于9时,则用A-F去代替。
小数
例如:12.5 十进制转二进制
先将12整数部分进行转换得 1100
小数部分乘2,取整数,然后新的结果再用小数部分乘2,取整数。
一直循环到小数部分为0
结果就是1100.1
验算:
1*2^(-1)= 0.5
0*2^ 0 = 0
0*2^ 1 = 0
1*2^ 2 = 4
1*2^ 3 = 8
8 + 4 + 0 + 0 + 0.5 = 12.5
同理,八进制带小数部分,就每一次乘8,取整循环
8421BCD码
8421bcd码就是将每一位的十进制(无论小数还是整数)用分别用二进制表示
用规定数值表达的一种规范,当多个表示可以规范同一个数值的时候,优先是选择权重大的
余3码是8421规范,它得出的结果永远比原始值还大3。