分享

十进制与二进制转换

 Java技术馆 2012-04-10

十进制与二进制转换

整数十进制转二进制:迭代除2,直至商为0,所有的余数即是此二进制(有后向前排列)。

例如:101

101/2 = 50 余 1

50/2 = 25 余 0

25/2 = 12 余 1

12/2 = 6 余 0

6/2 = 3 余 0

3/2 = 1 余 1

1/2 = 0 余 1

二进制为:1100101

整数二进制转十进制
例子:1100101

1*2E6 + 1*2E7 + 1*2E2 + 1*2E0 = 101

 

小数十进制转二进制:迭代取小数部分乘2,直到得到的结果小数位为0。每次相乘的整数位为1时记此二进制为1;

例子1:

0.325 *2 = 0.65 (取0)

(0.65 - 0) x 2 = 1.3 (取1) 

(1.3 – 1) x 2 = 0.6(取0)

(0.6 – 0) x 2 = 1.2 (取1)

(1.2 – 1) x 2 = 0.4(取0)

(0.4 – 0) x 2 = 0.8(取0)

(0.8 – 0) x 2 = 1.6 (取1)

(1.6 – 1) x 2 = 1.2 (取1)

最终结果是0.0010011….(10011循环)

例子2:

0.5 * 2 = 1.0 (取1)

结果为0.1(二进制)

 

小数二进制转十进制

例子:二进制0.1101

1*2E-1 + 1*2E-2; + 1*2E-4 = 0.8125

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多