Der Python2 Docs On Numeric Types Zustand, dassErkennung von impliziten Übergang vom Python Int (Unlimited) Lange
Plain ganze Zahlen (auch nur genannt ganzen Zahlen) implementiert sind lange in C, das sie mindestens 32 Bit Genauigkeit (sys gibt .maxint wird immer auf den maximalen reinen Ganzzahlwert für die aktuelle Plattform gesetzt, der Mindestwert ist -sys.maxint - 1). Lange ganze Zahlen haben unbegrenzte Präzision
Ich habe einige Code, der tut nicht-wissenschaftliche mathematische Operationen auf ganze Zahlen, und ist besorgt über implizite Konvertierungen von der früheren Art zu letzterem:
- vermutlich, die letzteren Typen sind viel weniger effizient als die ehemaligen
- noch wichtiger ist, wahrscheinlich ein Übergang in den letzteren (zumindest in meinem Code) bedeutet einige Fehler
Es ist möglich, pl ace Code nach jeder mathematischen Operation für die Art zu überprüfen, aber dies würde auch den Ausdruck
a * b + 2 * c * d
in einen überladenen glob lesbaren Code machen.
Gibt es eine Möglichkeit, eine Ausnahme zu setzen, wenn eine Zahl zu groß für einen regulären int wird?
Vielen Dank für die Antwort. –