二进制和十进制之间的转换
十进制转二进制
使用正的十进制数除以2,得到商再除以2,直到商为1/0
----------------------------------------------------------------------------
除以 商/正数
余数
2
100
0
50
0
25
1
12
0
6
0
3
1
1
结果:1100100
负数十进制转二进制
-----------------------------------------------------------------------------
-100
除以 商/正数
余数
2
100
0
50
0
25
1
12
0
6
0
3
1
1
+100 ---->>1100100
假设占用内存16位 >>0000-0000-0110-0100
取反>>1111 -1111 -1001-1011
+1 >>1111 -1111 -1001-1100
小数转成二进制数
分整数部分和小数部分转变,下面为小数部分转化例子
---------------------------------------------------------------------------
乘
积/小数
得
2
0.125
0
0.5
0
1
结果:0.001
100.125 ---->> 1100100.001
二进制转十进制
采用按权展开法
-------------------------------------------------------------------------------------------
1
1 0 0 1 0 0
1*2^6
1*2^5
0*2^4
0*2^3
1*2^2
0*2^1
0*2^0
1*64
1*32
0*16
0*8
1*4
0*2
0*1
64
32
0
0
4
0
0
结果:100
小数转成十进制
-------------------------------------------------------------------------------------------
0.
1
1
0
1
0*2^0
1*2^-1
1*2^-2
0*2^-3
1*2^-4
0
0.5
0.25
0
0.0625
结果:0.8125