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.

28voto

Ivan Yurchenko Punkte 3550

Nun, abgesehen von Witzen, gibt es eine nützliche Gedächtnisregel, die ich immer benutze, wenn ich mir große Zahlen merken will.

Sie müssen Ihre Nummer in Teile von 3-4 Ziffern zerlegen und sich diese mithilfe der Projektion auf Ihrer Handytastatur visuell merken. Es ist einfacher, sie auf einem Bild zu zeigen:

enter image description here

Wie Sie sehen können, wird von nun an Du musst dir nur 3 Formen merken, 2 davon sehen aus wie ein Tetris-L und eine sieht aus wie eine Zecke . Das ist auf jeden Fall viel einfacher, als sich eine 10-stellige Zahl zu merken.

Wenn Sie sich die Zahl merken müssen, rufen Sie einfach die Formen auf, stellen Sie sich eine Telefontastatur vor und projizieren Sie die Formen darauf. Vielleicht müssen Sie anfangs auf die Tastatur schauen, aber nach ein wenig Übung werden Sie sich daran erinnern, dass die Zahlen von links oben nach rechts unten laufen, so dass Sie sie sich einfach in Ihrem Kopf vorstellen können.

Achte nur darauf, dass du dir die Richtung der Formen und die Anzahl der Ziffern in jeder Form merkst (im Beispiel 2147483647 haben wir ein 4-stelliges Tetris L und ein 3-stelliges L).

Mit dieser Technik können Sie sich wichtige Zahlen leicht merken (ich habe mir zum Beispiel meine 16-stellige Kreditkartennummer gemerkt usw.).

0 Stimmen

Nette Idee! Form 1 ergibt 2147, Form 2 483, und Form 3 soll 647 ergeben, aber so wie sie gezeichnet ist, könnte sie als 6 interpretiert werden. 5 47. Woher weiß ich, wann ich alle gekreuzten Zahlen einschließen muss (wie in Form 1) und wann ich einige auslassen muss (wie in Form 3)? Sie müssen sich auch merken, dass die Formen 4, 3 bzw. 3 Ziffern kodieren. Oder Sie könnten die Form 3 mit einem Bogen von 6 bis 4 anstelle einer geraden Linie zeichnen.

0 Stimmen

@Squinch Nun, vor allem für das Erinnern an int.Max sollte es kein Problem sein, da du vielleicht weißt, dass es etwa 2 Milliarden ist, also 10 Zahlen enthält (und das bedeutet, wenn die erste Form 4 Zahlen hat, haben die zweite und die dritte Form entsprechend 3). Das ist jedoch ein guter Punkt, wenn man diesen Ansatz für jede beliebige Zahl verwenden möchte. Außerdem gibt es Zahlen, die man sich auf diese Weise nur schwer merken kann (z. B. 1112 oder so). Andererseits sollte es ohnehin nicht schwer sein, sich solche Zahlen zu merken. Ich würde also sagen, es liegt an dir, lass es mich wissen, wenn dir etwas Interessantes dazu einfällt :)

0 Stimmen

Ja, ich dachte daran, diese Methode zu verwenden, um eine beliebige Folge von Ziffern abzurufen, aber für diesen speziellen int.Max-Wert funktioniert Ihre Methode recht gut. Wie Sie sagten, sind wiederholte Ziffern ein Problem. In der Tat ist jede sich wiederholende Folge (wie 2323) ein Problem. Jede Folge, die sich selbst kreuzt (z. B. 2058), ist schwierig zu zeichnen. Jede Merktechnik erfordert, dass Sie sich mehrere Informationen merken. Es ist eine Frage des persönlichen Geschmacks, welche Informationen man sich am besten merken kann.

21voto

Sнаđошƒаӽ Punkte 15159

Schreiben Sie zunächst zweimal 47 aus, (Sie mögen Agent 47 (jeder Bindestrich ist ein Platz für eine einzelne Ziffer, zuerst 2, dann 4)

--47----47

Sie denken, Sie haben 12 in der Hand (weil 12 = ein Dutzend). Multipliziere es mit 4 die erste Ziffer der Nummer von Agent 47, d. h. 47 und legen Sie das Ergebnis rechts neben das erste Paar, das Sie bereits haben

12 * 4 = 48
--4748--47 <-- after placing 48 to the right of first 47

Dann multiplizieren Sie 12 par 3 (um die zweite Ziffer der Nummer von Agent 47, die lautet 7 benötigen Sie 7 - 4 = 3 ) und setzen Sie das Ergebnis rechts neben die ersten 2 Paare, den letzten Paarschlitz

12 * 3 = 36
--47483647 <-- after placing 36 to the right of first two pairs

Ziehen Sie schließlich eine Ziffer nach der anderen von Ihrer Hand, beginnend mit der äußersten rechten Ziffer (in diesem Fall 2), und setzen Sie sie in das erste leere Feld, das Sie erhalten

2-47483647 <-- after placing 2
2147483647 <-- after placing 1

Da haben Sie es! Bei negativen Grenzwerten können Sie sich das als 1 mehr in absoluter Wert als die positive Grenze.

Üben Sie ein paar Mal, und Sie werden den Dreh raus haben!

20voto

Rune Punkte 766

2GB

(Gibt es eine Mindestlänge für Antworten?)

9 Stimmen

@JoukevanderMaas - Eigentlich sollte es 4B sein.

1 Stimmen

Aus diesem Grund liegt die Grenze für den Arbeitsspeicher eines 32-Bit-Computers bei 4 GB.

3 Stimmen

Der Wert von 4 GB ist bei vorzeichenlosen Ganzzahlen korrekt. Wenn Sie eine vorzeichenbehaftete Ganzzahl haben, müssen Sie natürlich durch 2 dividieren, um den maximal möglichen Wert zu erhalten.

15voto

Leandro Bardelli Punkte 8293

Die beste Regel, um sie sich einzuprägen, lautet:
21 (magische Zahl!)
47 (einfach merken)
48 (fortlaufend!)
36 (21 + 15, beide Magie!)
47 wieder

Außerdem ist es einfacher, sich 5 Paare zu merken als 10 Ziffern.

15voto

Kev Punkte 115293

Angenommen, .NET -

Console.WriteLine(Int32.MaxValue);

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