ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

十进制小数部分转化为2进制 为什么相乘??

2021-03-13 09:01:43  阅读:299  来源: 互联网

标签:abcd a20 进制 0.2 相乘 x2 十进制 小数


10进制——>2进制
整数部分:重复相除2的
小数部分:重复相乘2的

为什么不一样???
查了好久才发现原来本质上是一样的…

假设一个十进制数 B
其对应的二进制数为 B= a20+b21+c22+.d2…

这个时候我们将10进制转为2进制的时候实际上就是求abcd的值

那么此时当用B除2的时候 相当对 a20+b21+c22+.d2…这个等式除2

相当于 a20/2 又因为a是2进制数不是0就是1 ,所以必然有一个余数 a存在。而等式剩下的部分b21+c22+.d2… 对应的2的幂也应该-1. 那么B/2的无限除2就能够得到abcd所有的数。

十进制数的小数此时用C表示 C是一个小数 。同理C也等于一个二进制的小数
C=a2-1+b2-2+c2-3+d…
会发现如果我们想要一个得到这个abcd…的话 必须要不停的
乘2才能把每一个2^-x次方化解。
同时由于越靠前越大所以不用倒叙直接就能得到2进制数abcd…

**为什么不能准确用2进制数准确表示10进制的小数部分?
整数部分:
因为整数除2能出尽

小数部分:
一个小数乘以2不一定能得到,一个小数部分是0的整数。
以0.2为例子:
0.2x2=0.4…0
0.4x2=0.8…0
0.8x
2=1.6…1
0.6x2=1.2…1
0.2x
2=0.4…0
.
.
.
.

.又回来了 所以不能够准确表示

原来都是一样的

标签:abcd,a20,进制,0.2,相乘,x2,十进制,小数
来源: https://blog.csdn.net/weixin_41773514/article/details/114727486

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有