In deze tutorial leren we met behulp van voorbeelden over typemodificatoren en hoe je deze kunt gebruiken in C ++ - programmeren.
In C ++ - programmering worden typemodificatoren gebruikt om de betekenis van de fundamentele gegevenstypen te wijzigen.
Er zijn vier typemodificatoren in C ++.
short
long
signed
unsigned
Hier is een korte samenvatting:
Data type | Grootte (in bytes) | Betekenis |
---|---|---|
signed int | 4 | gebruikt voor gehele getallen (gelijk aan int ) |
unsigned int | 4 | kan alleen niet-negatieve gehele getallen opslaan |
short | 2 | gebruikt voor kleine gehele getallen (bereik -32768 tot 32767 ) |
long | tenminste 4 | gebruikt voor grote gehele getallen (gelijk aan long int ) |
unsigned long | 4 | gebruikt voor grote positieve gehele getallen of 0 (equivalent aan unsigned long int ) |
long long | 8 | gebruikt voor zeer grote gehele getallen (gelijk aan long long int ). |
unsigned long long | 8 | gebruikt voor zeer grote positieve gehele getallen of 0 (equivalent aan unsigned long long int ) |
long double | 8 | gebruikt voor grote getallen met drijvende komma |
signed char | 1 | gebruikt voor tekens (gegarandeerd bereik -127 tot 127 ) |
unsigned char | 1 | gebruikt voor tekens (bereik 0 tot 255 ) |
korte type Modifier
We kunnen gebruiken short
voor kleine gehele getallen (in het bereik −32,767
tot +32,767
).
Bijvoorbeeld,
// small integer short a = 12345;
Hier is a een short
integer-variabele.
Let op: short
is gelijk aan short int
.
lange Type Modifier
Als we een groot geheel getal moeten opslaan (in het bereik -2147483647 tot 2147483647), kunnen we de typespecificatie gebruiken long
. Bijvoorbeeld,
// large integer long b = 123456;
Let op: long
is gelijk aan long int
.
De lange typemodificator kan ook worden gebruikt met double
variabelen.
// large floating-point number long double c = 0.333333333333333333L;
Opmerking: om aan te geven long double
gebruiken we het L
achtervoegsel. Als we het achtervoegsel niet gebruiken L
, is het een double
waarde waarnaar wordt geconverteerd long double
(wat kan leiden tot gegevensverlies).
lang Lang
long
kan twee keer worden herhaald om het long long
type te creëren . Dit type wordt gebruikt voor nog grotere aantallen dan long
. long long
type modifier kan alleen worden gebruikt met int
.
Bijvoorbeeld,
// long long int long long num = 12345678;
ondertekende en niet-ondertekende Modifiers
Ondertekende variabelen kunnen zowel positieve als negatieve gehele getallen bevatten, inclusief nul . Bijvoorbeeld,
// positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;
Hier,
- x bevat een geheel getal met een positieve waarde
- y bevat een geheel getal met een negatieve waarde
- z bevat een geheel getal met een nulwaarde
Opmerking:
- Standaard zijn gehele getallen
signed
. Daaromsigned
int
kunnen we in plaats van direct gebruikenint
. signed
en unsigned kan alleen gebruikt worden met int en char types.
De niet-ondertekende variabelen kunnen alleen niet-negatieve gehele getallen bevatten. Bijvoorbeeld,
// positive valued integer unsigned int x = 2; unsigned int y = 0;
Hier,
- x bevat een geheel getal met een positieve waarde
- y is nul
In het algemeen kan een int
variabele een reeks waarden opslaan van -2.147.483.648 tot 2.147.483.647 . Terwijl een unsigned in
t-variabele een reeks waarden van 0 tot 4.294.967.295 kan opslaan .
ondertekend, ongetekend en gewoon char
C ++ heeft 3 verschillende types char: char
, signed char
en unsigned char
. In de praktijk zijn er in principe maar 2 soorten: signed char
en unsigned char
.
Dit komt omdat, hoewel het char
niet hetzelfde is als signed char
of unsigned char
in standaard C ++, verschillende compilers behandelen char
als signed char
of unsigned char
volgens hun eigen voorkeur.
Opmerking: wanneer we alleen in char
plaats van signed char
of gebruiken unsigned char
, staat dit type bekend als plain char .
Zoals je misschien al geraden hebt, signed char
kan zowel positieve als negatieve gehele getallen unsigned char
worden opgeslagen , terwijl alleen positieve gehele getallen (inclusief 0 ) kunnen worden opgeslagen .
De gewaarborgde reeks gehele getallen signed char
kan opslaan is -127 tot 127 , terwijl het traject unsigned char
is 0-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 bevat een geheel getal met een positieve waarde
- plain_2 bevat een geheel getal met nulwaarde
- sin_1 bevat een geheel getal met een positieve waarde
- sin_2 bevat een geheel getal met nulwaarde
- sin_3 bevat een geheel getal met een negatieve waarde
- unsin_1 bevat een geheel getal met een negatieve waarde
- unsin_2 bevat een geheel getal met een nulwaarde
Opmerking: het verdient de voorkeur om geen gewone tekens te gebruiken om numerieke manipulaties uit te voeren; In plaats daarvan moet een ondertekend teken of een niet-ondertekend teken worden gebruikt. Plain char mag alleen worden gebruikt om tekenwaarden op te slaan.