[問題] 大數字取對數(log)問題??

作者: s90104123 (也許當時忙著微笑和哭泣)   2020-05-19 11:24:21
一般來說用math.log2(數字)就能取對數
但是數字太大好像就不太準
像是2**87-1 會出現87
正確來說應該是86.多吧
請問有什麼解決方法呢?
感謝大大
作者: pmove (金疾檸檬)   2020-05-19 12:22:00
要絕對準的話,就是要自己寫?
作者: GeoMeTric ( )   2020-05-19 13:47:00
decimal module
作者: kenduest (小州)   2020-05-19 14:25:00
decimal 內沒看到 log2(), 但是有log10() ,轉一下from decimal import Decimal, getcontextgetcontext().prec = 30r = Decimal(2**87-1).log10() / Decimal(2).log10()r 應該就是你要的?
作者: s90104123 (也許當時忙著微笑和哭泣)   2020-05-19 18:00:00
感謝樓上的各位

Links booklink

Contact Us: admin [ a t ] ucptt.com