maths entiers python 32 bits et 64 bits avec dépassement intentionnel
Quelle est la meilleure façon de le faire math entier en 32 et 64 bits, ainsi que le trop-plein se passe comme il le fait dans le C?
par exemple (65536*65536+1)*(65536*65536+1) devrait être 0x0000000200000001 en math 64 bits, et non pas sa valeur exacte (sans débordement) 0x10000000200000001.
source d'informationauteur Jason S
Vous devez vous connecter pour publier un commentaire.
Juste
&
le résultat avec la 32 ou la 64 bits de masque (0xffffffff
ou0xffffffffffffffff
).Utilisation NumPy avec les entiers de taille et le débordement est plus C comme:
32 bits:
64 bits:
Comparer avec Python native int:
Vous pouvez voir que NumPy est de faire comme vous le désirez.