1378 Stimmen

Was ist der Höchstwert für einen int32?

Ich kann mir die Nummer nie merken. Ich brauche eine Gedächtnisregel.

48 Stimmen

Ohne Vorzeichen: 2³²-1 = 4-1024³-1; mit Vorzeichen: -2³¹ .. +2³¹-1, weil das Vorzeichenbit das höchste Bit ist. Lerne einfach 2=1 bis 2¹=1024 und kombiniere. 1024=1k, 1024²=1M, 1024³=1G

31 Stimmen

Ich erinnere mich im Allgemeinen daran, dass alle 3 Bits etwa einer Dezimalstelle entsprechen. So komme ich auf die richtige Größenordnung: 32 Bits sind 10 Ziffern.

8 Stimmen

@JoachimSauer es kann sicherlich bei der Fehlersuche helfen, wenn man lernt, zumindest diese Art von Zahlen zu erkennen.

5053voto

Ben Hoffstein Punkte 99969

Es sind 2.147.483.647. Am einfachsten prägt man sie sich durch eine Tätowierung ein.

83 Stimmen

Meine Gedächtnisstütze: 2^10 ist sehr nahe an 1000, also ist 2^(3*10) 1000^3 oder etwa 1 Milliarde. Eines der 32 Bits wird für das Vorzeichen verwendet, so dass der Maximalwert eigentlich nur 2^31 ist, was etwa doppelt so viel ist wie 2^(3*10): 2 Milliarden.

1 Stimmen

@16807 es werden null Bits für das Vorzeichen verwendet (zumindest auf den meisten Architekturen), wenn ein Bit für das Vorzeichen verwendet würde, gäbe es zwei Nullen und der absolute Wert der minimalen und maximalen Zahl wäre derselbe, aber das ist nicht der Fall. es gibt eine negative Zahl mehr als positive Zahlen, weil die am häufigsten verwendete Darstellung das Zweierkomplement ist

1 Stimmen

@RuneFS Schon gut. Was ich sagen will, ist, dass es 32 Bits gibt, aber die Extremwerte müssen nahe 2^31 sein. Auf jeden Fall soll die Eselsbrücke nur auf die nächste Milliarde genau sein.

491voto

Adrian Clark Punkte 12319

Die korrekteste Antwort, die mir einfällt, ist Int32.MaxValue .

18 Stimmen

Bevor es diese Funktion gab, habe ich INT32_MIN und INT32_MAX in allen meinen Projekten #define.

45 Stimmen

@CamiloMartin Hey, das nehme ich dir übel. Es war einfach kein Platz mehr für weitere Tattoos. Offensichtlich mussten der Zeichensatz iso-8859-1 und Pi bis 31415 Dezimalstellen Vorrang haben

3 Stimmen

Wenn Sie programmieren: Ja, in 99 % der Fälle. Aber Sie sollten vielleicht wissen, dass es bei der Planung von Programmieransätzen oder bei der Arbeit mit Daten etwa ~ 2 Milliarden sind, obwohl das eine sehr große Zahl ist :)

439voto

Curd Punkte 11710

Wenn Sie glauben, dass der Wert zur Basis 10 zu schwer zu merken ist, versuchen Sie es mit der Basis 2: 1111111111111111111111111111111

3 Stimmen

Warten Sie einen Moment... Diese Zahl ist negativ!

145 Stimmen

@Nick Whaley: Nein, 111111111111111111111111111111111 ist positiv. 1111111111111111111111111111111111 wäre negativ :-)

58 Stimmen

Basis 16 ist noch einfacher 7FFFFFFF

315voto

Wenn Sie sich die gesamte Zahl Pi merken können, dann befindet sich die gesuchte Zahl an der Stelle 1.867.996.680 bis 1.867.996.689 der Dezimalstellen von Pi

Die numerische Zeichenfolge 2147483647 erscheint an der 1.867.996.680 Dezimalstelle von Pi. 3.14......86181221809936452346 2147483647 10527835665425671614...

Quelle: http://www.subidiom.com/pi/

30 Stimmen

Wissen Sie, als ich anfing, Ihre Antwort zu lesen, erwartete ich etwas Praktisches, wie die 20ste Stelle.

95 Stimmen

Das scheint ziemlich cool zu sein. Haben Sie eine andere Speicherregel, um sich 1.867.996.680 zu merken? Es fällt mir schwer, mir zu merken, bei welchem Index ich mit der Suche beginnen soll....

10 Stimmen

" wenn Sie sich die gesamte Zahl Pi merken können... " - Nein, das kann man nicht, es ist irrational (wie möglicherweise ein oder zwei Beiträge in diesen Q&As) 8-D

291voto

WildJoe Punkte 5660

Sie besteht aus 10 Ziffern, also tun Sie so, als sei es eine Telefonnummer (vorausgesetzt, Sie sind in den USA). 214-748-3647. Ich empfehle nicht, sie anzurufen.

13 Stimmen

Apropos Telefonnummer: Es scheint, dass einige Telefonspammer diese Nummer verwenden: mrnumber.com/1-214-748-3647

8 Stimmen

"Es gibt keine "748"-Börse in Dallas. Diese Nummer ist gefälscht." - von der von shambleh verlinkten Seite

104 Stimmen

@Steven Ich glaube nicht, dass es sich um Spammer handelt, nur um Leute, die die Telefonnummer versehentlich als INT anstelle von VARCHAR in MySQL.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X