作者s90104123 (也许当时忙着微笑和哭泣)
看板Python
标题[问题] 大数字取对数(log)问题??
时间Tue May 19 11:24:21 2020
一般来说用math.log2(数字)就能取对数
但是数字太大好像就不太准
像是2**87-1 会出现87
正确来说应该是86.多吧
请问有什麽解决方法呢?
感谢大大
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.141.88.170 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1589858663.A.325.html
1F:推 pmove: 要绝对准的话,就是要自己写? 05/19 12:22
2F:→ GeoMeTric: decimal module 05/19 13:47
3F:推 kenduest: decimal 内没看到 log2(), 但是有log10() ,转一下 05/19 14:25
4F:→ kenduest: from decimal import Decimal, getcontext 05/19 14:25
5F:→ kenduest: getcontext().prec = 30 05/19 14:25
6F:→ kenduest: r = Decimal(2**87-1).log10() / Decimal(2).log10() 05/19 14:26
7F:→ kenduest: r 应该就是你要的? 05/19 14:26
8F:→ s90104123: 感谢楼上的各位 05/19 18:00