In diesem Tutorial lernen wir anhand von Beispielen, wie Typmodifikatoren und ihre Verwendung in der C ++ - Programmierung verwendet werden.
In der C ++ - Programmierung werden Typmodifikatoren verwendet, um die Bedeutung der grundlegenden Datentypen zu ändern.
In C ++ gibt es vier Typmodifikatoren.
short
long
signed
unsigned
Hier ist eine kurze Zusammenfassung:
Datentyp | Größe (in Bytes) | Bedeutung |
---|---|---|
signed int | 4 | wird für ganze Zahlen verwendet (entspricht int ) |
unsigned int | 4 | kann nur nicht negative ganze Zahlen speichern |
short | 2 | wird für kleine ganze Zahlen verwendet (Bereich -32768 bis 32767 ) |
long | mindestens 4 | wird für große ganze Zahlen verwendet (entspricht long int ) |
unsigned long | 4 | wird für große positive ganze Zahlen oder 0 (äquivalent zu unsigned long int ) verwendet |
long long | 8 | wird für sehr große ganze Zahlen verwendet (entspricht long long int ). |
unsigned long long | 8 | wird für sehr große positive ganze Zahlen oder 0 (äquivalent zu unsigned long long int ) verwendet |
long double | 8 | wird für große Gleitkommazahlen verwendet |
signed char | 1 | wird für Zeichen verwendet (garantierter Bereich -127 bis 127 ) |
unsigned char | 1 | wird für Zeichen verwendet (Bereich 0 bis 255 ) |
Kurztyp-Modifikator
Wir können short
für kleine ganze Zahlen (im Bereich −32,767
bis +32,767
) verwenden.
Beispielsweise,
// small integer short a = 12345;
Hier ist a eine short
ganzzahlige Variable.
Hinweis: short
entspricht short int
.
langer Typ Modifikator
Wenn wir eine große Ganzzahl speichern müssen (im Bereich von -2147483647 bis 2147483647), können wir den Typbezeichner verwenden long
. Beispielsweise,
// large integer long b = 123456;
Hinweis: long
entspricht long int
.
Der Long-Typ-Modifikator kann auch mit double
Variablen verwendet werden.
// large floating-point number long double c = 0.333333333333333333L;
Hinweis: Zur Angabe verwenden long double
wir das L
Suffix. Wenn wir das Suffix nicht verwenden L
, wird es in einen double
Wert konvertiert long double
(was zu Datenverlust führen kann).
lang Lang
long
kann zweimal wiederholt werden, um den long long
Typ zu erstellen . Dieser Typ wird für noch größere Zahlen als verwendet long
. long long
Typmodifikator kann nur mit verwendet werden int
.
Beispielsweise,
// long long int long long num = 12345678;
signierte und nicht signierte Modifikatoren
Vorzeichenbehaftete Variablen können sowohl positive als auch negative Ganzzahlen einschließlich Null enthalten . Beispielsweise,
// positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;
Hier,
- x enthält eine Ganzzahl mit positivem Wert
- y enthält eine Ganzzahl mit negativem Wert
- z enthält eine Ganzzahl mit dem Wert Null
Hinweis:
- Standardmäßig sind Ganzzahlen
signed
. Dahersigned
int
können wir stattdessen direkt verwendenint
. signed
und unsigned können nur mit den Typen int und char verwendet werden.
Die vorzeichenlosen Variablen können nur nicht negative ganzzahlige Werte enthalten. Beispielsweise,
// positive valued integer unsigned int x = 2; unsigned int y = 0;
Hier,
- x enthält eine Ganzzahl mit positivem Wert
- y hält Null
Im Allgemeinen kann eine int
Variable einen Wertebereich von -2.147.483.648 bis 2.147.483.647 speichern . Während eine unsigned in
t-Variable einen Wertebereich von 0 bis 4.294.967.295 speichern kann .
signiert, nicht signiert und normal char
C ++ hat 3 verschiedene char - Typen: char
, signed char
und unsigned char
. In der Praxis gibt es grundsätzlich nur zwei Typen: signed char
und unsigned char
.
Dies liegt daran , dass verschiedene Compiler, obwohl sie char
nicht mit signed char
oder unsigned char
in Standard-C ++ identisch sind , char
entweder signed char
oder unsigned char
nach ihren eigenen Vorlieben behandeln.
Hinweis: Wenn wir nur char
anstelle von signed char
oder verwenden unsigned char
, wird dieser Typ als einfaches Zeichen bezeichnet .
Wie Sie vielleicht erraten haben, signed char
können sowohl positive als auch negative Ganzzahlen unsigned char
gespeichert werden , während nur positive Ganzzahlen (einschließlich 0 ) gespeichert werden können .
Der garantierte Bereich von ganzzahligen Werte signed char
speichern können , ist -127 bis 127 , während der Bereich von unsigned char
ist 0 bis 255 .
// plain char char plain_1 = 65; char plain_2 = 0; // plain char with negative value // might cause problems with some compilers char plain_3 = -56; // signed char signed char sin_1 = 12; signed char sin_2 = 0; signed char sin_3 = -12; // unsigned char unsigned char unsin_1 = -85; unsigned char unsin_2 = 0;
Hier,
- plain_1 enthält eine Ganzzahl mit positivem Wert
- plain_2 enthält eine Ganzzahl mit dem Wert Null
- sin_1 enthält eine Ganzzahl mit positivem Wert
- sin_2 enthält eine Ganzzahl mit dem Wert Null
- sin_3 enthält eine Ganzzahl mit negativem Wert
- unsin_1 enthält eine Ganzzahl mit negativem Wert
- unsin_2 enthält eine Ganzzahl mit dem Wert Null
Hinweis: Es ist vorzuziehen, kein einfaches Zeichen zu verwenden, um numerische Manipulationen durchzuführen. Stattdessen sollte ein signiertes oder ein nicht signiertes Zeichen verwendet werden. Ein einfaches Zeichen sollte nur zum Speichern von Zeichenwerten verwendet werden.