十进制小数怎么转化成二进制什么时候停止,急求啊。!!请会的人详细说说。

就是说假如十进制数7.375化成二进制是111.011,小数点后的.375*2取整刚好可以取到1.0的时候即得到0.11,但是有些十进制小数不能一直乘到得出1.0,而是小... 就是说假如十进制数7.375化成二进制是111.011,小数点后的.375*2取整刚好可以取到1.0的时候即得到0.11,但是有些十进制小数不能一直乘到得出1.0,而是小数部分乘以2出现了循环。那么我转化的时候什么时候停止呢?以什么为标准? 展开
 我来答
仁昌爱娱乐
高粉答主

2020-02-01 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459856

向TA提问 私信TA
展开全部

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

扩展资料:

十进制基于位进制和十进位两条原则,即所有的数字都用10个基本的符号表示,满十进一,同时同一个符号在不同位置上所表示的数值不同,符号的位置非常重要。基本符号是0到9十个数字。要表示这十个数的10倍,就将这些数字右移一位,用0补上空位,即10,20,30,...,90。

要表示这十个数的10倍,就继续左移数字的位置,即100,200,300,...。要表示一个数的1/10,就右移这个数的位置,需要时就0补上空位:1/10位0.1,1/100为0.01,1/1000为0.001。

画皮炫亮
2021-06-03 · TA获得超过154个赞
知道答主
回答量:38
采纳率:0%
帮助的人:1.1万
展开全部

什么时候乘2正好为1,就停止。

(图片来源于网络,侵删)

比如

当上一位余的小数位为0.5,下面再乘就正好为1,此时所余的小数部分已经全部转化为0(1.0的0),就不必再乘了。b(-1)=0, b(-2)=1, b(-3)=1

所以(0.375)D=(0.011)B。(整数部分转化除法倒序排列,小数部分乘法顺序排列)

当然也不是每个十进制的小数都可以转化为有限的二进制小数,比如十进制小数0.64就无法用有限的二进制数表示,计算下去会发现所余的小数部分一直不会是0.5。也就无法用有限的二进制小数表示,这时候机器就会按内存大小而保留相应的位数。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嘻哈105627
2012-11-03
知道答主
回答量:41
采纳率:0%
帮助的人:21.7万
展开全部
将小数部分乘以2,取结果的整数部分为二进制的一位。 然后继续取结果的小数部分乘2重复,一直到小数部分全部为0结束 (有可能遇到不停循环乘不尽的情况出现)

举例:
0.8125换成二进制方法如下:
0.8125x2 = 1.625...1
0.625x2 = 1.25....1
0.25x2 = 0.5.....0
0.5x2 = 1 .....1
至此小数部分已经全为0 (1.0000..) ,所以十进制0.8125对应二进制的 0.1101

而乘不尽的无限循环二进制小数举个例子如十进制的0.68, 你可以尝试按上面的方法乘一下 :)

另外十进制的整是用除2的方式的,想必你已经知道了。在换算时需要将整数部分用除2方式计算出,小数部分用乘2方式计算出,然后再用小数点接到一起作为二进制的结果
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengshuang_110
2012-10-28 · 超过10用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:50.2万
展开全部
看你机器的寻址的最大范围了,有可以存32的机器,也有存64位的机器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式