2004年04月14日 星期三 14:10
大家好!以下是我刚学Python时,拿Python当桌面计算器使用:)时碰到的现象,一 直也没能理解: 在交互环境直接输入数字2.1回车(没有print),回显是2.1000000000000001,OK, 我大概知道是怎么回事,2.5就显示2.5, 这都OK,但10.1为什么显示10.1?一直到 15.1,都精确回显,接下去又有尾巴了...001,我试到30.1... Just for Fun!
2004年04月14日 星期三 14:36
浮点数的二进制到十进制转换时会有误差 -----Original Message----- From: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] On Behalf Of jackphil Sent: Wednesday, April 14, 2004 2:11 PM To: python-chinese at lists.python.cn Subject: [python-chinese] 一个数字显示问题,只是好奇 大家好!以下是我刚学Python时,拿Python当桌面计算器使用:)时碰到的现象,一 直也没能理解: 在交互环境直接输入数字2.1回车(没有print),回显是2.1000000000000001,OK, 我大概知道是怎么回事,2.5就显示2.5, 这都OK,但10.1为什么显示10.1?一直到 15.1,都精确回显,接下去又有尾巴了...001,我试到30.1... Just for Fun! _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese
2004年04月14日 星期三 15:04
An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040414/945ad49a/attachment.html
2004年04月15日 星期四 23:43
Hello, Qiangning Hong 离散数学中讲究“有效数字”的位数, 10.1000000000000001 比 2.1000000000000001 多了一位有效数字,如果在 Python 默认的十进制计数中最多有 17 位有效数字,那么10.1000000000000001 只好四舍五入成 10.1 了。 至于 16.1 与 15.1 之间的变化是由于 浮点运算硬件 80x87 采用 16 进制“科学计数法”来表示浮点数 ...... --- jackphil <jackphilcn at yahoo.com.cn> 的正文: --------------------------------- 2.00...1我知是误差,10.1为什么好象没误差 ---------- Qiangning Hong 写道: 浮点数的二进制到十进制转换时会有误差-----Original Message-----From: python-chinese-bounces at lists.python.cn[mailto:python-chinese-bounces at lists.python.cn] On Behalf Of jackphilSent: Wednesday, April 14, 2004 2:11 PMTo: python-chinese at lists.python.cnSubject: [python-chinese] 一个数字显示问题,只是好奇大家好!以下是我刚学Python时,拿Python当桌面计算器使用:)时碰到的现象,一直也没能理解:在交互环境直接输入数字2.1回车(没有print),回显是2.1000000000000001,OK,我大概知道是怎么回事,2.5就显示2.5, 这都OK,但10.1为什么显示10.1?一直到15.1,都精确回显,接下去又有尾巴了...001,我试到30.1...Just for Fun!_______________________________________________python-chinese listpython-chinese at lists.python.cnhttp://python.cn/mailman/listinfo/python-chinese --------------------------------- _______________________________________________python-chinese listpython-chinese at lists.python.cnhttp://python.cn/mailman/listinfo/python-chinese > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > _________________________________________________________ Do You Yahoo!? 惠普TT游戏剧,玩游戏,中大奖! http://cn.rd.yahoo.com/mail_cn/tag/SIG=1402c0to2/**http%3A%2F%2Fhp.allyes.com%2Flaserjet%2Fgamestory%2Findex.html%3Fjumpid%3Dex_hphqapcn_MongooseLJ1010%2F201073CN407016%2FYahoo
2004年04月15日 星期四 23:51
对不起,搞错了,是发给 jackphil 的 --- "CHEN Guang (Oliver)" <oliver_guang_chen at yahoo.com.cn> 的正文:> Hello, Qiangning Hong > 离散数学中讲究“有效数字”的位数, > 10.1000000000000001 > 比 2.1000000000000001 多了一位有效数字,如果在 > Python > 默认的十进制计数中最多有 17 > 位有效数字,那么10.1000000000000001 只好四舍五入成 > 10.1 了。 > 至于 16.1 与 15.1 之间的变化是由于 浮点运算硬件 > 80x87 > 采用 16 进制“科学计数法”来表示浮点数 ...... > > --- jackphil <jackphilcn at yahoo.com.cn> 的正文: > --------------------------------- > 2.00...1我知是误差,10.1为什么好象没误差 > ---------- > Qiangning Hong 写道: > 浮点数的二进制到十进制转换时会有误差-----Original > Message-----From: > python-chinese-bounces at lists.python.cn[mailto:python-chinese-bounces at lists.python.cn] > On Behalf Of jackphilSent: Wednesday, April 14, 2004 > 2:11 PMTo: python-chinese at lists.python.cnSubject: > [python-chinese] > 一个数字显示问题,只是好奇大家好!以下是我刚学Python时,拿Python当桌面计算器使用:)时碰到的现象,一直也没能理解:在交互环境直接输入数字2.1回车(没有print),回显是2.1000000000000001,OK,我大概知道是怎么回事,2.5就显示2.5, > 这都OK,但10.1为什么显示10.1?一直到15.1,都精确回显,接下去又有尾巴了...001,我试到30.1...Just > for > Fun!_______________________________________________python-chinese > listpython-chinese at lists.python.cnhttp://python.cn/mailman/listinfo/python-chinese > > > > --------------------------------- > _______________________________________________python-chinese > listpython-chinese at lists.python.cnhttp://python.cn/mailman/listinfo/python-chinese > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > _________________________________________________________ > Do You Yahoo!? > 惠普TT游戏剧,玩游戏,中大奖! > http://cn.rd.yahoo.com/mail_cn/tag/SIG=1402c0to2/**http%3A%2F%2Fhp.allyes.com%2Flaserjet%2Fgamestory%2Findex.html%3Fjumpid%3Dex_hphqapcn_MongooseLJ1010%2F201073CN407016%2FYahoo > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese _________________________________________________________ Do You Yahoo!? 惠普TT游戏剧,玩游戏,中大奖! http://cn.rd.yahoo.com/mail_cn/tag/SIG=1402c0to2/**http%3A%2F%2Fhp.allyes.com%2Flaserjet%2Fgamestory%2Findex.html%3Fjumpid%3Dex_hphqapcn_MongooseLJ1010%2F201073CN407016%2FYahoo
2004年04月16日 星期五 17:02
Oliver你好: "80x87采用 16 进制“科学计数法”来表示浮点数"──不太好理解,计算机内部怎么 会有16进制?都是0和1吧 ---- CHEN Guang (Oliver) 写道: >Hello, Qiangning Hong >离散数学中讲究“有效数字”的位数, 10.1000000000000001 >比 2.1000000000000001 多了一位有效数字,如果在 Python >默认的十进制计数中最多有 17 >位有效数字,那么10.1000000000000001 只好四舍五入成 >10.1 了。 >至于 16.1 与 15.1 之间的变化是由于 浮点运算硬件 80x87 >采用 16 进制“科学计数法”来表示浮点数 ...... > > --- jackphil <jackphilcn at yahoo.com.cn> 的正文: > >
2004年04月17日 星期六 11:18
Hello jackphil: 你说得对,准确地说是二进制的。只是由于二进制与16进制有着简单的对应关系,并且16进制的两位数正好与一个字节对应,汇编语言编程中才使用16进制。 深究起来,二进制科学计数法与16进制科学计数法是有区别的,前者在满2、4、8、16、32、64……时都发生小数点的移动,而后者仅在满16、256、4096……时才发生小数点的移动。 事实上,80x87数学协处理器中使用的是前者。 0.1这样的在二进制中表示为无限循环小数,每逢整数部分满2、4、8、16、32、64……小数部分都会发生变化,只不过有时这种变化转换成十进制并进行四舍五入后表现不出来而已。 同时由于转换成十进制后对有效数字位数的要求,每当满10、100、1000时小数部分也可能发生变化。当然这种变化用四舍五入原理很容易解释的。 --- jackphil <jackphilcn at yahoo.com.cn> 的正文:> Oliver你好: > "80x87采用 16 > 进制“科学计数法”来表示浮点数"──不太好理解,计算机内部怎么 > 会有16进制?都是0和1吧 > ---- > CHEN Guang (Oliver) 写道: > > >Hello, Qiangning Hong > >离散数学中讲究“有效数字”的位数, > 10.1000000000000001 > >比 2.1000000000000001 多了一位有效数字,如果在 > Python > >默认的十进制计数中最多有 17 > >位有效数字,那么10.1000000000000001 只好四舍五入成 > >10.1 了。 > >至于 16.1 与 15.1 之间的变化是由于 浮点运算硬件 > 80x87 > >采用 16 进制“科学计数法”来表示浮点数 ...... > > > > --- jackphil <jackphilcn at yahoo.com.cn> 的正文: > > > > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese _________________________________________________________ Do You Yahoo!? 惠普TT游戏剧,玩游戏,中大奖! http://cn.rd.yahoo.com/mail_cn/tag/SIG=1402c0to2/**http%3A%2F%2Fhp.allyes.com%2Flaserjet%2Fgamestory%2Findex.html%3Fjumpid%3Dex_hphqapcn_MongooseLJ1010%2F201073CN407016%2FYahoo
Zeuux © 2024
京ICP备05028076号