V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
theoriz
V2EX  ›  Python

/ 然后 math.floor 和 // 结果不一致……求教数据格式转换机制

  •  
  •   theoriz · 11 天前 · 431 次点击
    Python 3.11.7 (main, Sep 15 2024, 15:14:54) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 1e19 / 1043
    9587727708533078.0
    >>> 1e19 // 1043
    9587727708533078.0
    >>> 1e19 // 1044
    9578544061302680.0
    >>> 1e19 / 1044
    9578544061302682.0
    

    wolfram 算出来是 9.578544061302681 × 10^15 即 9578544061302681

    int 和 float 是在什么时候转换的呢

    =============补充下背景

    在刷 atcoder https://atcoder.jp/contests/abc380/editorial/11362?lang=en

    用 a//b ac 了,但是 math.floor(a/b)去实现就无法 ac 然而如果 a//b 精度有问题,那是否说明 a//b 的 ac 也只是巧合……

    2 条回复
    nagisaushio
        1
    nagisaushio  
       11 天前
    你需要 10**19//1044
    theoriz
        2
    theoriz  
    OP
       11 天前
    @nagisaushio 懂了,感谢。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5300 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:45 · PVG 13:45 · LAX 21:45 · JFK 00:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.