Heim > Artikel > Backend-Entwicklung > Was ist der Wertebereich von data int in der C-Sprache?
In C++ belegt int 4 Bytes, 32 Bits und der Datenbereich ist -2147483648~2147483647[-2^31~2^31-1]. Die Daten vom Typ int sind vorzeichenbehaftete Ganzzahldaten, und ihr höchstes Bit ist das Vorzeichenbit (0 bedeutet positiv, 1 bedeutet negativ).
In C++ belegt int 4 Bytes, 32 Bits und der Datenbereich ist -2147483648~2147483647[-2^31~2^31 - 1].
Detaillierter Antwortprozess am Beispiel von zwei Bytes:
In C sind int-Typdaten vorzeichenbehaftete Ganzzahldaten, und ihr höchstes Bit ist das Vorzeichenbit ( 0 bedeutet positiv , 1 bedeutet negativ).
1 Byte entspricht 8 Binärbits. In vielen Computersystemen wird normalerweise das Zweierkomplement zur Darstellung vorzeichenbehafteter Zahlen verwendet (Komplementärsystem).
Originalcode: Das höchste Bit ist das Vorzeichenbit (0 bedeutet positiv, 1 bedeutet negativ), und die anderen Bits stellen auf übliche Weise den Absolutwert der Zahl dar.
Inverser Code: Für ein signiertes Buch ist der Umkehrcode einer positiven Zahl derselbe wie sein Originalcode, und der Umkehrcode einer negativen Zahl ist die bitweise Umkehrung aller Bits des Originalcodes außer dem Vorzeichenbit.
Komplementcode: Der Komplementcode einer positiven Zahl ist derselbe wie ihr Originalcode, und der Komplementcode einer negativen Zahl ist ihr Umkehrcode, bei dem 1 zum niedrigsten Bit hinzugefügt wird.
Zwei Bytes, der maximale binäre Originalcode ist also 0111 1111 1111 1111 = 2^15 - 1 = 32767.
Das Minimum ist 1111 1111 1111 1111 = - (2^15 - 1) = -32767.
Der Ausdruck 0 im Originalcode kann in positiv und negativ unterteilt werden [+0] Original = 0000 0000 0000 0000 [-0] Original =1000 0000 0000 0000.
Ausgedrückt im binären Originalcode beträgt der Bereich also -32767 ~ -0 und 0 ~ 32767. Da es zwei Nullen gibt, beträgt die Anzahl der unterschiedlichen Werte 2^16 - 1.
Wenn Computer stationäre Komplemente zum Speichern von Daten verwenden, ist die Darstellung von 0 eindeutig: [+0] Komplement = [-0] Komplement = 0000 0000 0000 0000
Zu diesem Zeitpunkt das Positive Zahl Die Codierung bleibt unverändert, von 0000 0000 0000 0000 ~ 0111 1111 1111 1111 repräsentiert immer noch 0 ~ 32767.
Negative Zahlen werden durch die Komplementregel dargestellt, d. h. das Komplement von -32767 ist 1000 0000 0000 0001.
Der Komplementcode enthält also einen Code mehr als der Originalcode. Dieser Code ist 1000 0000 0000 0000, da es unmöglich ist, dass ein Originalcode 1000 0000 0000 0000 wird, wenn er in einen Komplementcode umgewandelt wird , also Leute Es wird angegeben, dass die Einserkomplementkodierung von 1000 0000 0000 0000 -32768 ist.
Schlussfolgerung: Wenn Daten vom Typ int zwei Bytes belegen, können sie 2^16 Änderungen darstellen. Das höchste Bit ist das Vorzeichenbit, es gibt also 2^15 Änderungen im Positiven und Negativen, da 0 auch einen Typ belegt , also Der Maximalwert positiver und negativer Zahlen ist nicht symmetrisch, dh der Wertebereich dieser Daten vom Typ int liegt zwischen -32768 und 32767.
Erweiterte Informationen:
int-Verwendung:
Definitionsmethode:
int i;//Ganzzahlvariable i definieren
int i=1;//Ganzzahlvariable i definieren und auf 1 initialisieren
Konstante definieren:
const int i ;//Kompilierungsfehler, da Konstanten einen Anfangswert erhalten müssen
const int i=1;//Konstante i mit einem Wert von 1 definieren
Java-definierte Konstanten:
final int i=1;//Konstante i mit Wert 1 definieren
Empfohlenes Tutorial: „C-Sprache“
Das obige ist der detaillierte Inhalt vonWas ist der Wertebereich von data int in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!