前置知识点
HEX十六进制
DEC十进制
OCT八进制
BIN二进制
这篇博客主要讲二进制与十进制、十六进制的互换,像跟八进制有关的就先不讲,等用到了在来讲,毕竟还没碰到过八进制的题目,这篇博客主要是回顾高中所学的知识。
关于进制
进制是在数学中是逢几进1的进位制,我们通常所说的数字是十进制的0-9,逢十进一。
在计算机中,机器只能识别0或1,也就是二进制,对应电流的高低电平,这两个状态。
X进制转换为十进制
二进制转十进制
小数点前或者整数要从右到左用二进制的每个数去乘以2的相应次方并递增,小数点后则是从左往右乘以二的相应负次方并递减。
1110.0101(B)=0*20+1*21+1*22+1*23+0*2-1+1*2-2+0*2-3+1*2-4=14.3125
任何进制转十进制都是位权相加,位权从0开始,小数点后从-1开始。
总结公式
x表示几进制
abc.de(x)=c*x0+b*x1+a*x2+d*x-1+e*x-1
十进制转二进制
173.625转二进制
整数部分:
173/2 ——余1
86/2 ——余0
43/2 ——余1
21/2——余1
10/2——余0
5/2——余1
2/2——余0
1/2——余1
从下往上,也就是1/2余1的位为最高位,173/2的位位最低位
173(D)=1010 1101(B)
小数部分:
0.625(D,有时省略)=(0.101)B
0.625*2=1.25========取出整数部分1
0.25*2=0.5========取出整数部分0
0.5*2=1.0========取出整数部分1
总的结果位173.07(D)=1010 1101.101(B)
十六进制与二进制的互换
十六进制转二进制,二进制转十六进制==》 每个十六进制位使用“8421”,每四个二进制位使用“8421”
A8B(H)=1010 1000 1011(B)
A => 10用“8 4 2 1”法,可以得出1010
8--------1000
B--------1011
1010 1000 1011(B) = A8B(H)
关于十六进制小数
我觉得我现在用不到,现在也碰不到,索性就不深入了,反正原理跟二进制小数转十进制差不多,用到再学,懒,可还行。