2

非常に大きな 16 進数を mpmath の mpf オブジェクトの 1 つにロードしたいと考えています。私は試した

from mpmath import mp, mpf
a = mpf('0x100') # starting small here

しかし、それは誤動作しました:

ValueError: could not convert string to float: '0x100'

long 整数定数を単純に使用すると、精度も失われるようです。

>>> mpf.prec = 300
>>> a = mpf( 0x123444444444444444444444444444444444444444444444444444444444444)
>>> print("%x"%a)
123444444444440000000000000000000000000000000000000000000000000
>>> a = mpf( 123444444444444444444444444444444444444444444444444444444444444)
>>> print("%d"%a)
123444444444444452865502098927835995454229086812688745177808896

16 進文字列から mpf インスタンスを初期化するための適切な手法は何ですか?

4

1 に答える 1