Ich kann mir die Nummer nie merken. Ich brauche eine Gedächtnisregel.
Jeder anständige Taschenrechner kann auch 2^31 berechnen.
Ich kann mir die Nummer nie merken. Ich brauche eine Gedächtnisregel.
Es geht um 2.1 * 10^9
. Es ist nicht notwendig, die genaue 2^{31} - 1 = 2,147,483,647
.
Sie können es in C so finden:
#include <stdio.h>
#include <limits.h>
main() {
printf("max int:\t\t%i\n", INT_MAX);
printf("max unsigned int:\t%u\n", UINT_MAX);
}
gibt (na ja, ohne die ,
)
max int: 2,147,483,647
max unsigned int: 4,294,967,295
std::cout << std::numeric_limits<int>::max() << "\n";
std::cout << std::numeric_limits<unsigned int>::max() << "\n";
Sie können dies auch mit Java erreichen:
System.out.println(Integer.MAX_VALUE);
Aber denken Sie daran, dass Java-Ganzzahlen immer vorzeichenbehaftet sind.
Python hat ganze Zahlen beliebiger Genauigkeit. Aber in Python 2 werden sie auf C-Ganzzahlen abgebildet. Sie können also Folgendes tun:
import sys
sys.maxint
>>> 2147483647
sys.maxint + 1
>>> 2147483648L
Daher wechselt Python zu long
wenn die ganze Zahl größer wird als 2^31 -1
Hier eine Gedächtnishilfe für 2**31: Ziehen Sie eins ab, um den maximalen ganzzahligen Wert zu erhalten.
a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9
Boys And Dogs Go Duck Hunting, Come Friday Ducks Hide
2 1 4 7 4 8 3 6 4 8
Ich habe die Zweierpotenzen bis 18 oft genug benutzt, um sie mir zu merken, aber selbst ich habe mir nicht die Mühe gemacht, 2**31 auswendig zu lernen. Es ist zu einfach, nach Bedarf zu rechnen, eine Konstante zu verwenden oder 2G zu schätzen.
32 Bits, eines für das Vorzeichen, 31 Bits an Informationen:
2^31 - 1 = 2147483647
Warum -1?
Da die erste Null ist, ist die größte die Zählung minus eins .
EDIT für cantfindaname88
Die Anzahl ist 2^31, aber der größte Wert kann nicht 2147483648 (2^31) sein, weil wir von 0 und nicht von 1 zählen.
Rank 1 2 3 4 5 6 ... 2147483648
Number 0 1 2 3 4 5 ... 2147483647
Eine andere Erklärung mit nur 3 Bits: 1 für das Vorzeichen, 2 für die Information
2^2 - 1 = 3
Nachfolgend alle möglichen Werte mit 3 Bits: (2^3 = 8 Werte)
1: 100 ==> -4
2: 101 ==> -3
3: 110 ==> -2
4: 111 ==> -1
5: 000 ==> 0
6: 001 ==> 1
7: 010 ==> 2
8: 011 ==> 3
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.
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.
72 Stimmen
"Wenn eine Festplatte voll ist, werden alle MByte gelöscht und archiviert" (2 Buchstaben, 1 Buchstabe, 4 Buchstaben, 7 Buchstaben, 4 Buchstaben, 8 Buchstaben, 3 Buchstaben, 6 Buchstaben, 4 Buchstaben, 7 Buchstaben)
8 Stimmen
Ein Fall, in dem die int32 nicht ausreicht: bbc.com/news/world-asia-30288542
1 Stimmen
Warum in aller Welt wollen Sie sich die genaue Zahl merken? Was @JoachimSauer gesagt hat, ist die Art und Weise, wie Sie die Zahl loswerden.
0 Stimmen
@UltraCommit warum glaubst du, dass dein Weg mehr ist nützlich als einfache 2.147.483.647?
5 Stimmen
Auch hier gilt: "7 und sieben 'f's" ist eine leicht zu merkende Eselsbrücke! (0x7fffffff) :)
0 Stimmen
@Flinkman, Datei
limits.h
enthält all diese nützlichen Konstanten und vieles mehr. Es wäre angemessener zu fragen, "wo man all diese plattformspezifischen Werte findet".1 Stimmen
Am besten merkt man sich die Nummer nicht, sondern setzt einfach ein Lesezeichen auf eine Internetseite, auf der die Nummer steht (z. B. diese)
2 Stimmen
Fang mit 2 an...7 Tage in der Woche, 2*7=14 das ist 2147 jetzt sind die nächsten zwei 47+1=48, 214748, dann kommt die Anzahl der Tage im Jahr - 1, 365-1=364 und endest wieder mit 7. Du wirst es jetzt wohl nie mehr vergessen können :) 2 14 7 48 364 7 = 2 1 47 48 364 7 = 2147483647
0 Stimmen
Etwas weniger als die Anzahl der Aufrufe von Gangnam Style auf Youtube
3 Stimmen
Diese Art von Frage würde in der heutigen SO schamlos abgeschmettert werden. Vor allem in der Nähe bestimmter Regionen, die nicht genannt werden sollen.
0 Stimmen
Das können Sie tun
(1 << 31) -1
o(1 << -1) -1
für vorzeichenbehaftete 32-Bit- oder~0
für 32-Bit ohne Vorzeichen.0 Stimmen
Denken Sie nur daran, dass es die achte Mersenne-Primzahl ist. Das sollte Ihnen helfen, sich die Zahl zu merken.
0 Stimmen
Wenn du 1337 h4x0r bist, wirst du dich mit Piata daran erinnern: "Piata aß das Ei um" ... n00n? Sagen wir mal, sie hat das Ei mittags gegessen.
0 Stimmen
"Wenn ich eine ganze Zahl habe, dann ist die mögliche Höchstzahl nicht fünfzehn." Stattdessen sind es die verketteten Längen dieser Wörter. Cooles Zeug.
8 Stimmen
Dieser Beitrag wird diskutiert auf meta