U ovom ćemo uputstvu uz primjere naučiti o modifikatorima tipova i kako ih koristiti u programiranju na C ++.
U programiranju na C ++, modifikatori tipova koriste se za promjenu značenja osnovnih tipova podataka.
U C ++-u postoje četiri modifikatora tipa.
short
long
signed
unsigned
Evo kratkog sažetka:
Vrsta podataka | Veličina (u bajtovima) | Značenje |
---|---|---|
signed int | 4 | koristi se za cijele brojeve (ekvivalentno int ) |
unsigned int | 4 | može pohraniti samo negativne cijele brojeve |
short | 2 | koristi se za male cijele brojeve (raspon od -32768 do 32767 ) |
long | najmanje 4 | koristi se za velike cijele brojeve (ekvivalentno long int ) |
unsigned long | 4 | koristi se za velike pozitivne cijele brojeve ili 0 (ekvivalentno unsigned long int ) |
long long | 8 | koristi se za vrlo velike cijele brojeve (ekvivalentno long long int ). |
unsigned long long | 8 | koristi se za vrlo velike pozitivne cijele brojeve ili 0 (ekvivalentno unsigned long long int ) |
long double | 8 | koristi se za velike brojeve s pomičnom zarezom |
signed char | 1 | koristi se za znakove (zajamčeni raspon -127 do 127 ) |
unsigned char | 1 | koristi se za znakove (raspon od 0 do 255 ) |
modifikator kratkog tipa
Možemo koristiti short
za male cijele brojeve (u rasponu −32,767
do +32,767
).
Na primjer,
// small integer short a = 12345;
Ovdje je a short
cjelobrojna varijabla.
Napomena: short
ekvivalentno je short int
.
dugi Modifikator tipa
Ako trebamo pohraniti veliki cijeli broj (u rasponu od -2147483647 do 2147483647), možemo koristiti specifikator tipa long
. Na primjer,
// large integer long b = 123456;
Napomena: long
ekvivalentno je long int
.
Modifikator dugog tipa također se može koristiti s double
varijablama.
// large floating-point number long double c = 0.333333333333333333L;
Napomena: Za označavanje long double
koristimo L
sufiks. Ako ne koristimo sufiks L
, to je double
vrijednost u koju se pretvara long double
(što može rezultirati gubitkom podataka).
dugo dugo
long
može se ponoviti dva puta za stvaranje long long
vrste. Ova se vrsta koristi za još veće brojeve od long
. long long
modifikator tipa može se koristiti samo s int
.
Na primjer,
// long long int long long num = 12345678;
potpisani i nepotpisani modifikatori
Potpisane varijable mogu sadržavati pozitivne i negativne cijele brojeve, uključujući nulu . Na primjer,
// positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;
Ovdje,
- x sadrži pozitivan-vrijedan cijeli broj
- y ima negativan-vrijedan cijeli broj
- z sadrži cijeli broj nulte vrijednosti
Bilješka:
- Prema zadanim postavkama, cijeli brojevi su
signed
. Stoga, umjestosigned
int
, možemo izravno koristitiint
. signed
a unsigned se može koristiti samo s vrstama int i char.
U nepotpisani varijable mogu držati samo ne-negativne vrijednosti cjelobrojne. Na primjer,
// positive valued integer unsigned int x = 2; unsigned int y = 0;
Ovdje,
- x sadrži cijeli broj s pozitivnom vrijednošću
- y drži nulu
Općenito, int
varijabla može pohraniti raspon vrijednosti od -2,147,483,648 do 2,147,483,647 . Dok unsigned in
varijabla t može pohraniti raspon vrijednosti od 0 do 4,294,967,295 .
potpisan, nepotpisan i običan znak
C ++ ima 3 različite vrste: char char
, signed char
i unsigned char
. U praksi postoje u osnovi samo 2 vrste: signed char
i unsigned char
.
To je zato što, iako char
nije isto što signed char
ili unsigned char
u standardnom C ++-u, različiti kompajleri tretiraju char
kao signed char
ili unsigned char
prema vlastitim željama.
Napomena: Kada koristimo samo char
umjesto signed char
ili unsigned char
, ovaj tip poznat je kao obični znak .
Kao što ste mogli pretpostaviti, signed char
može pohraniti i pozitivne i negativne cijele brojeve, dok unsigned char
može pohraniti samo pozitivne cijele brojeve (uključujući 0 ).
Zajamčena Raspon broj vrijednosti signed char
može pohraniti je -127 do 127 , dok je raspon unsigned char
je 0 do 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;
Ovdje,
- plain_1 sadrži pozitivnu vrijednost cijelog broja
- plain_2 sadrži cijeli broj nulte vrijednosti
- sin_1 sadrži pozitivnu vrijednost cijelog broja
- sin_2 sadrži cijeli broj nulte vrijednosti
- sin_3 sadrži negativnu cijelu vrijednost
- unsin_1 sadrži negativnu cijelu vrijednost
- unsin_2 sadrži cijeli broj nulte vrijednosti
Napomena: Poželjno je ne koristiti obični znak za izvođenje numeričkih manipulacija; umjesto toga treba upotrijebiti potpisani znak ili nepotpisani znak. Obični znak treba koristiti samo za pohranu vrijednosti znakova.