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 ++.
short
long
signed
unsigned
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 short
for små heltall (i området −32,767
til +32,767
).
For eksempel,
// small integer short a = 12345;
Her er a en short
heltallvariabel.
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 double
variabler.
// large floating-point number long double c = 0.333333333333333333L;
Merk: For å indikere long double
bruker vi L
suffikset. Hvis vi ikke bruker suffikset L
, er det en double
verdi som konverteres til long double
(som kan føre til tap av data).
lenge lenge
long
kan gjentas to ganger for å lage long long
typen. Denne typen brukes til enda større tall enn long
. long long
type 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 forsigned
int
, kan vi bruke direkteint
. signed
og 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 int
variabel lagre et verdiområde fra -2,147,483,648 til 2,147,483,647 . Mens en unsigned in
t-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 char
og unsigned char
. I praksis er det i utgangspunktet bare to typer: signed char
og unsigned char
.
Dette er fordi selv om char
det ikke er det samme som signed char
eller unsigned char
i standard C ++, behandles forskjellige kompilatorer char
som enten signed char
eller i unsigned char
henhold til deres egen preferanse.
Merk: Når vi bare bruker i char
stedet for signed char
eller unsigned char
, er denne typen kjent som vanlig røye .
Som du kanskje har gjettet, signed char
kan lagre både positive og negative heltall, mens det unsigned char
bare kan lagre positive heltall (inkludert 0 ).
Det garanterte spekteret av heltallverdier signed char
kan lagres er -127 til 127 mens området unsigned char
er 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.