I denne opplæringen vil vi lære om typemodifikatorer og hvordan du bruker dem i C ++ programmering ved hjelp av eksempler.
I C ++ programmering brukes typemodifikatorer til å endre betydningen av de grunnleggende datatypene.
Det er fire modifikatorer i C ++.
shortlongsignedunsigned
Her er et kort sammendrag:
| Data-type | Størrelse (i byte) | Betydning |
|---|---|---|
signed int | 4 | brukt for heltall (tilsvarer int) |
unsigned int | 4 | kan bare lagre ikke-negative heltall |
short | 2 | brukes til små heltall (område -32768 til 32767 ) |
long | minst 4 | brukt for store heltall (tilsvarer long int) |
unsigned long | 4 | brukes til store positive heltall eller 0 (tilsvarer unsigned long int) |
long long | 8 | brukes til veldig store heltall (tilsvarer long long int). |
unsigned long long | 8 | brukes til veldig store positive heltall eller 0 (tilsvarer unsigned long long int) |
long double | 8 | brukes til store flytende tall |
signed char | 1 | brukt for tegn (garantert område -127 til 127 ) |
unsigned char | 1 | brukt for tegn (område 0 til 255 ) |
kort type Modifier
Vi kan bruke shortfor små heltall (i området −32,767til +32,767).
For eksempel,
// small integer short a = 12345;
Her er a en shortheltallvariabel.
Merk: short tilsvarer short int.
lang Type Modifier
Hvis vi trenger å lagre et stort heltall (i området -2147483647 til 2147483647), kan vi bruke typespesifikatoren long. For eksempel,
// large integer long b = 123456;
Merk: long tilsvarer long int.
Modifikatoren for lang type kan også brukes med doublevariabler.
// large floating-point number long double c = 0.333333333333333333L;
Merk: For å indikere long doublebruker vi Lsuffikset. Hvis vi ikke bruker suffikset L, er det en doubleverdi som konverteres til long double(som kan føre til tap av data).
lenge lenge
longkan gjentas to ganger for å lage long longtypen. Denne typen brukes til enda større tall enn long. long longtype modifier kan bare brukes med int.
For eksempel,
// long long int long long num = 12345678;
signerte og usignerte modifikatorer
Signerte variabler kan inneholde både positive og negative heltall inkludert null . For eksempel,
// positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;
Her,
- x har et positivt verdsatt heltall
- y har et negativt verdsatt heltall
- z har et nullverdi heltall
Merk:
- Som standard er heltall
signed. Derfor i stedet forsignedint, kan vi bruke direkteint. signedog usignert kan bare brukes med int og char typer.
De usignerte variablene kan bare inneholde ikke-negative heltallverdier. For eksempel,
// positive valued integer unsigned int x = 2; unsigned int y = 0;
Her,
- x har et positivt verdsatt heltall
- y holder null
Generelt kan en intvariabel lagre et verdiområde fra -2,147,483,648 til 2,147,483,647 . Mens en unsigned int-variabel kan lagre et verdiområde fra 0 til 4 294 967 295 .
signert, usignert og vanlig røye
C ++ har 3 forskjellige røye typer: char, signed charog unsigned char. I praksis er det i utgangspunktet bare to typer: signed charog unsigned char.
Dette er fordi selv om chardet ikke er det samme som signed chareller unsigned chari standard C ++, behandles forskjellige kompilatorer charsom enten signed chareller i unsigned charhenhold til deres egen preferanse.
Merk: Når vi bare bruker i charstedet for signed chareller unsigned char, er denne typen kjent som vanlig røye .
Som du kanskje har gjettet, signed charkan lagre både positive og negative heltall, mens det unsigned charbare kan lagre positive heltall (inkludert 0 ).
Det garanterte spekteret av heltallverdier signed charkan lagres er -127 til 127 mens området unsigned charer 0 til 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;
Her,
- plain_1 har et positivt verdsatt heltall
- plain_2 har et nullverdi heltall
- sin_1 har et positivt verdsatt heltall
- sin_2 har et nullverdi heltall
- sin_3 har et negativt verdsatt heltall
- unsin_1 har et negativt verdsatt heltall
- unsin_2 har et nullverdi heltall
Merk: Det er å foretrekke å ikke bruke vanlig tegn for å utføre numeriske manipulasjoner; signert røye eller usignert røye skal brukes til det i stedet. Vanlig røye skal bare brukes til å lagre tegnverdier.








