Python Int ist unendlich

Wusstest du schon! Die Anzahl der Ints, die in Python dargestellt werden können, ist unbegrenzt! !! Da int in C 32 Bit beträgt, kann es nur bis zu 2147483647 darstellen. Selbst die lange Zeit, die beim Umgang mit großen Zahlen verwendet wird, kann nur 64 Bit darstellen, dh 9223372036854775807. Andererseits ist int in Python unendlich.

Na dann

Wenn ich höre, dass es keine Obergrenze gibt, ist es die Menschlichkeit, die mich dazu bringt, mit einer großen Anzahl von Fäkalien umzugehen. Um zu sehen, ob es wirklich ein Limit gibt und wenn es kein Limit gibt, wie lang die Berechnungszeit ist Ich habe ein einfaches Experiment gemacht! Überprüfen Sie anhand des folgenden Codes die für die Berechnung erforderliche Zeit und die für die Anzeige erforderliche Zeit.

test.py


num_list, time_list = [], []
for i in range(9):
    start = time.time()
    ans = 10 ** (10 ** i)
    end = time.time()
    print('Elapsed time to calculate 10 ** {} is {}'.format(10 ** i, end - start))
    num_list.append(10 ** i)
    time_list.append(end - start)
plt.plot(num_list, time_list)
plt.show()

Die experimentellen Ergebnisse sind in der folgenden Tabelle gezeigt! Es ist schwer zu verstehen, aber die Zahlen ganz links in der Tabelle repräsentieren den $ n $ -Teil von $ 10 ^ n $. Daher ist 100 in der oberen Spalte der Tabelle die Zeit, die zum Berechnen und Anzeigen von $ 10 ^ {100} $ benötigt wurde.

10^n calculate[s] print[s]
100 0.000 0.000
1000 0.000 0.000
10000 0.000 0.002992
1e05 0.01562 0.1396
1e06 0.1562 13.27
1e07 5.985 1324
1e08 221.7 -
1e09 8791 -

Selbst eine so große Zahl kann richtig berechnet werden, aber es braucht viel Zeit. Wenn $ n $ um das 10-fache erhöht wird, erhöht sich die Berechnungszeit um das 40-fache und die Anzeigezeit um das 100-fache. Übrigens, selbst wenn Sie "Anzeige" sagen, ist der Wert aufgrund eines Fehlers (natürlich) zu groß, um auf der Konsole angezeigt zu werden. Außerdem sind Drucke 1e08 und 1e09 keine Daten, da es zu lange gedauert hat und ich es satt habe. Die Abbildung, in der der Fehler angezeigt wird, zeigt 0 →![Print_bag.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419937/c813ae25-9631-1129- 6c24-2b0c1afd528e.png)

Die Grafik ist unten. Wie ich oben erwähnt habe, sieht es so aus, als würde es exponentiell zunehmen! calculate_time.png print_time.png

Zuerst begann ich über die Berechnung von Googolplex nachzudenken, aber in erster Linie     log2(10^{10^{100}}) \simeq 3.32*10^{100}bit = 4.15*10^{87}TB Es war eine unmögliche Geschichte, weil sie nur Speicher benötigt!

Ergebnis: Eine große Anzahl kann dargestellt werden!



Was haben Sie gedacht? Ich habe versucht, einen Artikel in einem wazap-ähnlichen Ton zu schreiben. Was ist der Wazap-ähnliche Ton? Ich bin mir nicht sicher, weil es geworden ist. Ergänzung: Ein Mikrokosmos einer modernen Gesellschaft, in der nur eine Person, die das Programm leitet, sehr hart arbeitet ![resource.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/419937/29e47660-2cbf-bb96-08af-5fb51017c6a3.png)

Recommended Posts

Python Int ist unendlich
Python ist einfach
Was ist Python?
Python ist eine Instanz
Was ist Python?
[Python] Was ist Pipeline ...
[Python] Was ist virtualenv?
Python-Runde ist nicht streng rund
[Python] Effizienteres Debuggen!
Konvertieren Sie numpy int64 in python int
Verwendung von __dict__ in Python
Python ist schmerzhaft. Aber benutze
Python ist eine Sprache für Erwachsene
Unveränderlicher Python-Typ int memo
[Python] Python und Sicherheit - is Was ist Python?
Schnellerer Python-Release-Zyklus!
[Python] * args ** Was ist kwrgs?
Identität und Äquivalenz: ist und == in Python
Python-Grundkurs (1 Was ist Python?)
[Python] Was ist eine Zip-Funktion?
[Python] Was ist eine with-Anweisung?
Python Hinweis: Über den Vergleich mit is
ppa: jonathonf / python-3.6 ist jetzt privat
Unterschied zwischen == und ist in Python
Python
Verwenden Sie Stoff wie in Python (Stoff3)
Golang vs. Python - Ist Golang besser als Python?
Python ist UnicodeEncodeError im CodeBox-Docker
Unendlicher Primgenerator in Python3
[Python] Was ist @? (Über Dekorateure)
Was ist besser, PyPy oder Python?
[Python] Was ist der sortierte Schlüssel?
Python für Anweisung ~ Was ist iterierbar ~
In Python gibt es keinen Schalter
Der heutige Python-Fehler: Das Bild ist leer
Gesamtleistung in Python (mit Funktools)
Wofür ist der Python-Unterstrich (_)?
Bestimmen des Betriebssystems, auf dem Python ausgeführt wird
Python> Was ist ein erweitertes Slice?
Python in ist auch ein Operator
[Python] Was ist Pandas Series und DataFrame?
Python Hinweis: Wenn easy_install nicht verwendet werden kann
[Python] Namensfehler: name'urlparse 'ist nicht definiert
[Python] Was wird durch Mehrfachvererbung geerbt?
Was ist NaN? NaN Zoya (Python) (394 Tage zu spät)
"<" In Python> Pack ("<L", ...) ist wenig todian
Importfehler, obwohl ich Python installiert habe
[Python] [Pandas] Wie wird pd.DataFrame (). T implementiert?
Inject wird für DDD in Python empfohlen
Was für eine Programmiersprache ist Python?
Python-Memo mit Perl-Format ist praktisch.
Warum Python für maschinelles Lernen ausgewählt wird
Wo ist der Python-Instanziierungsprozess geschrieben?
Was ist "Mahjong" in der Python-Bibliothek? ??
Hash in Perl ist ein Wörterbuch in Python
Was ist ein Hund? Python-Installationsvolumen
[Python] [Meta] Ist der Python-Typ ein Typ?