Python论坛  - 讨论区

标题:[python-chinese] Subject: 请教:python中浮点数与整数相乘的内部机制

2007年11月12日 星期一 17:13

shan jin jinshanhuster在gmail.com
星期一 十一月 12 17:13:04 HKT 2007

Hi,´ó¼ÒºÃ£º
        ÎÒÊÇpython³õѧÕߣ¬ÏëÖªµÀpythonµÄÄÚ²¿»úÖÆ¡£ÏÂÃæÕâ¸öÎÊÌâÇë°ïæ½âÊÍÏ£¬ÓÐÏà¹Ø×ÊÁÏÒ²ÐС£
        ÔÚpythonÌáʾ·ûÏÂÊäÈëÏÂÁÐÃüÁ
>>> x=3
>>> y=1.2
>>> v=x*y
>>> v
3.5999999999999996
>>> x=3.0
>>> print  x*y
3.6
>>>
         ΪʲôÔÚpythonÖÐ3*1.2ºÍ3.0*1.2²»Í¬£¿
         ÏÈлÁË£¡
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071112/e32397e2/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年11月12日 星期一 17:26

icebird icebirds在gmail.com
星期一 十一月 12 17:26:07 HKT 2007

这似乎不是python的问题吧,很多语言都会有这个问题。似乎问题的来源是CPU的浮点运算模组的误差。

在 07-11-12,shan jin<jinshanhuster在gmail.com> 写道:
>
>
> Hi,大家好:
>         我是python初学者,想知道python的内部机制。下面这个问题请帮忙解释下,有相关资料也行。
>         在python提示符下输入下列命令:
> >>> x=3
> >>> y=1.2
> >>> v=x*y
> >>> v
> 3.5999999999999996
> >>> x=3.0
> >>> print  x*y
> 3.6
> >>>
>          为什么在python中3*1.2和3.0*1.2不同?
>          先谢了!
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年11月12日 星期一 17:29

Jiahua Huang jhuangjiahua在gmail.com
星期一 十一月 12 17:29:08 HKT 2007

不同吗?相同吗?

>>> 3*1.2
3.5999999999999996
>>> 3.0*1.2
3.5999999999999996
>>> print 3*1.2
3.6
>>> print 3.0*1.2
3.6

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年11月12日 星期一 17:30

icebird icebirds在gmail.com
星期一 十一月 12 17:30:36 HKT 2007

还有哦,后面会显示出3.6,似乎和print有关。看我的结果。
>>> x=3
>>> y=1.2
>>> x*y
3.5999999999999996
>>> print x*y
3.6
>>> x=3.0
>>> x*y
3.5999999999999996
>>> print x*y
3.6
>>>

在 07-11-12,icebird<icebirds在gmail.com> 写道:
> 这似乎不是python的问题吧,很多语言都会有这个问题。似乎问题的来源是CPU的浮点运算模组的误差。
>
> 在 07-11-12,shan jin<jinshanhuster在gmail.com> 写道:
> >
> >
> > Hi,大家好:
> >         我是python初学者,想知道python的内部机制。下面这个问题请帮忙解释下,有相关资料也行。
> >         在python提示符下输入下列命令:
> > >>> x=3
> > >>> y=1.2
> > >>> v=x*y
> > >>> v
> > 3.5999999999999996
> > >>> x=3.0
> > >>> print  x*y
> > 3.6
> > >>>
> >          为什么在python中3*1.2和3.0*1.2不同?
> >          先谢了!
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to
> > python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request在lists.python.cn
> > Detail Info:
> > http://python.cn/mailman/listinfo/python-chinese
> >
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年11月12日 星期一 17:32

Jiahua Huang jhuangjiahua在gmail.com
星期一 十一月 12 17:32:31 HKT 2007

不要忽略掉任何细节, 不要混了真正不同的地方,

print 的时候用的 str , 而你先前的是 repr

>>> (3*1.2).__str__()
'3.6'
>>> (3*1.2).__repr__()
'3.5999999999999996'

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年11月12日 星期一 17:33

Jiahua Huang jhuangjiahua在gmail.com
星期一 十一月 12 17:33:29 HKT 2007

真想要了解 Python 内部机制的话,
这儿有人写了 cPython2 源码剖析

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年11月12日 星期一 17:34

Jiahua Huang jhuangjiahua在gmail.com
星期一 十一月 12 17:34:37 HKT 2007

你终于注意到你有时候 print , 有时候没 print

在 07-11-12,icebird<icebirds at gmail.com> 写道:
> 还有哦,后面会显示出3.6,似乎和print有关。看我的结果。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年11月12日 星期一 17:55

shan jin jinshanhuster在gmail.com
星期一 十一月 12 17:55:15 HKT 2007

cPython2Ô´ÂëÆÊÎöÔÚÄĶù£¿

2007/11/12, Jiahua Huang <jhuangjiahua在gmail.com>:
>
> ÕæÏëÒªÁ˽â Python ÄÚ²¿»úÖƵĻ°£¬
> Õâ¶ùÓÐÈËдÁË cPython2 Ô´ÂëÆÊÎö
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071112/05cc93c9/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年11月12日 星期一 18:02

Jiahua Huang jhuangjiahua在gmail.com
星期一 十一月 12 18:02:42 HKT 2007

google  python 源码剖析 第一条

在 07-11-12,shan jin<jinshanhuster at gmail.com> 写道:
> cPython2源码剖析在哪儿?
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号