Ruby max ganze Zahl
Ich muss in der Lage sein zu bestimmen, ein System der maximalen Ganzzahl in Ruby. Weiß jemand, wie, oder wenn es möglich ist?
InformationsquelleAutor der Frage Allyn | 2009-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ruby wandelt automatisch zahlen in einem großen integer-Klasse, wenn Sie überlaufen, so dass es (fast) keine Grenze, wie groß Sie werden können.
Wenn Sie auf der Suche für die Maschine Größe, D. H. 64 - oder 32-bit, ich fand diesen trick an ruby-forum.com:
Wenn Sie sich für die Größe von Fixnum-Objekten (ganze zahlen klein genug, um in einer einzigen Maschine, word), rufen Sie
0.size
um die Anzahl der bytes. Ich würde vermuten, es sollten 4 auf 32-bit-builds, aber ich kann das nicht testen, gerade jetzt. Auch die größte Fixnum ist offenbar2**30 - 1
(oder2**62 - 1
), da ein bit wird verwendet, um zu Kennzeichnen, dass Sie eine ganze Zahl statt einer Objekt-Referenz.InformationsquelleAutor der Antwort Matthew Crumley
InformationsquelleAutor der Antwort
Lesen der freundlichen Anleitung? Wer würde das tun wollen?
InformationsquelleAutor der Antwort Andrew Grimm
In ruby Fixnums werden automatisch umgewandelt Bignums.
Zu finden, die die höchstmögliche Fixnum Sie könnte so etwas tun:
Schamlos zerrissen von einer ruby-talk-Diskussion. Schauen Sie dort für weitere details.
InformationsquelleAutor der Antwort tommym
als @Jörg W Mittag hingewiesen: in jruby, fix num Größe ist immer 8 Byte lang. Dieses code-snippet zeigt die Wahrheit:
InformationsquelleAutor der Antwort Hailong Cao