举例(一): 10进制的数字 3.6 转换为 二进制(计算机底层计算都是通过二进制来进行计算)
过程:
1、整数部分的处理
3/2 = 1…… 1
1/2 = 0 ……1
2、小数部分的处理
0.6*2=1.2 …… 1
0.2*2=0.4 …… 0
0.4*2=0.8 …… 0
0.8*2=1.6 …… 1
0.6*2=1.2 …… 1 (到此处便开始循环了) 所以答案为 11.1001100110011001... (1001为循环部分) 十转二整数部分和小数部分分开算的,整数部分一直除2取余数,直到商为0。先除的余数为低位,后取的余数为高位。 而小数部分是一直乘2把结果的整数部分拿出来,小数部分继续乘。
综上:3.6(十进制) = 11.1001100110011001(二进制) 1001循环
举例(二) 1.33转换为二进制
1)小数部分按标准的“乘2取整,顺序排列”
0.33×2=0.66,取0
0.66×2=1.32,取1
0.32×2=0.64,取0
0.64×2=1.28,取1
0.28×2=0.56,取0
0.56×2=1.12,取1
0.12×2=0.24,取0
0.24×2=0.48,取0
0.48×2=0.96,取0
0.96×2=1.92,取1
0.92×2=1.84,取1
0.84×2=1.68,取1
0.68×2=1.36,取1
0.36×2=0.72,取0
0.72×2=1.44,取1
0.44×2=0.88,取0
综上:1.33(十进制) = 1.0101010001111010(二进制)