为了账号安全,请及时绑定邮箱和手机立即绑定

Python中为什么0.1 换成二进制表示就是无限循环小数?

学Python基础的时候遇到的问题

正在回答

3 回答

不懂楼上那位求详解

0 回复 有任何疑惑可以回复我~

计算机丢失精度问题

0 回复 有任何疑惑可以回复我~

小数转换成二进制是a*2^(-1)+b*2*^(-2)+...,如果该小数大于0.5,则a=1。例如0.75是0.11即1*0.5+1*0.25.例如0.6=1*0.5+0*0.25+0*0.125+1*0.0625+0.03125*1+0*0.015625+。。。如此类推

1 回复 有任何疑惑可以回复我~
#1

qq_有心人_9

怎么循环的 不懂求详解
2017-12-05 回复 有任何疑惑可以回复我~
#2

qq_琪仔_0 回复 qq_有心人_9

就和整数二进制一样,整数从右到左每一位依次是2^0,2^1,```,2^n,那么,小数的话从左到右依次是2^-1,2^-2,```,2^-n.也就是每一位权值依次是0.5,0.25,0.125,0.0625···你想想看0.1如果这样用二进制表示是不是无限的~
2018-01-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758620    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

Python中为什么0.1 换成二进制表示就是无限循环小数?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信