java_day02_二进制和十进制之间的转换

来源:互联网 发布:阶乘java递归方法 编辑:程序博客网 时间:2024/06/06 05:44

二进制和十进制之间的转换

十进制转二进制

使用正的十进制数除以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 04 0 0

结果:100


小数转成十进制
-------------------------------------------------------------------------------------------
0. 1 1 01
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
0 0
原创粉丝点击