Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Wertebereich von data int in der C-Sprache?

Was ist der Wertebereich von data int in der C-Sprache?

烟雨青岚
烟雨青岚Original
2020-06-30 11:17:4519534Durchsuche

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).

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].

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.

Was ist der Wertebereich von data int in der C-Sprache?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn