Ich benutze numpy wie diesen Code
%Vor%Ich denke, das Ergebnis muss ähnlich sein 5000000050000000
Ich habe festgestellt, dass das Ergebnis bis fünf Zahlen in Ordnung ist. Weiß jemand, was passiert ist?
Grüße
Numpy macht hier keinen Fehler. Dieses Phänomen wird als Integerüberlauf bekannt.
%Vor% Der 32-Bit-Integer-Typ, der in arange
für die angegebene Eingabe verwendet wird, kann einfach nicht 5000000050000000 halten. Es kann höchstens 2147483647 .
Wenn Sie explizit einen größeren Integer- oder Gleitkomma-Datentyp verwenden, erhalten Sie das erwartete Ergebnis.
%Vor% Ich vermute, dass Sie Windows verwenden, wobei der Datentyp des Ergebnisses eine 32-Bit-Ganzzahl ist (während für Benutzer, die beispielsweise Mac OS X oder Linux verwenden, der Datentyp 64 Bit ist). Beachten Sie, dass 5000000050000000 % (2**32) = 987459712
Versuchen Sie es mit
%Vor%oder
%Vor%P.S. Jeder, der Windows nicht verwendet, kann das Ergebnis folgendermaßen reproduzieren:
%Vor%