二进制,八进制,十进制,十六进制的转换
转十进制
二进制(或八进制或十六进制)数写成2(或8或16)的各次幂的和
如果有小数点,小数点左边第一位0次幂,依次向两边增加,只有往右边为负次幂
没有小数点,则向左边依次增加
二进制转十进制
比如100011
即1x25+0x24+0x23+0x22+1x21+1x20
=32+0+0+0+2+1
=35
比如101101.101
即1x25+0x24+1x23+1x22+0x21+1x20+1x2-1+0x2-2+1x2-3
= 32+0+8+4+0+1+0.5+0+0.125
= 45.625
八进制转十进制
比如123
即1x82+2x81+3x80
=64+16+3
=83
比如1.25
即1x80+2x8-1+5x8-2
=1+0.25+0.078125
=1.328125
十六进制转十进制
比如 D8
即13x161+8x160
=208+8
=216
比如 A1.B
即10x161+1x160+11x16-1
=160+1+0.6875
=161.6875
转二进制
十进制转二进制
整数部分:除以2,取余数,从下往上
小数部分:乘以2,取整数,从上往下
比如97
97/2——1
48/2——0
24/2——0
12/2——0
6/2 ——0
3/2 ——1
1 ——1
即 1100001
比如0.25
0.25x2=0.50——0
0.50x2=1.0 ——1
即 0.1
八进制转二进制
每位八进制数通过除2,反向取余数,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零
比如276
第一位2
2/2——0
1 ——1
得到010
第二位7
7/2——1
3/2——1
1 ——1
得到111
第三位6
6/2——0
3/2——1
1 ——1
得到110
连起来就是10111110
比如0.16
1——1
不足补0
得到001
6/2——0
3/2——1
1 ——1
得到110
连起来就是 0.001110
十六进制转二进制
每位八进制数通过除2,反向取余数,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零
比如 D6
13/2——1
6/2 ——0
3/2 ——1
1 ——1
得到1101
6/2 ——0
3/2 ——1
1 ——1
不足4位,左边补0 得到0110
连起来即11010110
比如0.D4
13/2——1
6/2 ——0
3/2 ——1
1 ——1
得到1101
4/2——0
2/2——0
1 ——1
得到0100
连起来得到0.11010100即0.110101
转八进制
十进制转八进制
整数部分:除以8,取余数,从下往上
小数部分:乘以8,取整数,从上往下
比如125
125/8——5
15/8 ——7
1 ——1
即 175
比如0.3125
0.3125x8=2.5——2
0.5x8=4.0——4
得到0.24
二进制转八进制
每三位分开,不足补0,然后按二进制转十进制的方式计算
整数部分:从左往右
小数部分:从右往左
比如1110010
分开得到001 110 010
001得到1
110得到6
010得到2
连起来即162
比如0.1101011
得到0. 110 101 100
110得到6
101得到5
100得到4
连起来0.654
十六进制转八进制
一般先转成二进制或十进制,再转成八进制
转十六进制
十进制转十六进制
整数部分:除以16 取余数,从下往上
小数部分:乘以16 取整数,从上往下
比如135
135/16——7
8 ——8
得到87
比如0.3125
0.3125x16=5.0——5
得到0.5
二进制转十六进制
每四位分开,不足补0,然后按二进制转十进制的方式计算
整数部分:从左往右
小数部分:从右往左
比如101100101
分开0001 0110 0101
0001得到1
0110得到6
0101得到5
得到165
比如0.110101101
分开0.1101 0110 1000
1101得到13
0110得到6
1000得到8
连起来就是0.D68
八进制转十六进制
先转成二进制或十进制,再转成十六进制