V tej vadnici bomo s pomočjo primerov spoznali modifikatorje vrst in kako jih uporabiti pri programiranju na C ++.
Pri programiranju na C ++ se modifikatorji vrst uporabljajo za spreminjanje pomena osnovnih podatkovnih tipov.
V jeziku C ++ obstajajo štirje modifikatorji.
short
long
signed
unsigned
Tu je kratek povzetek:
Vrsta podatkov | Velikost (v bajtih) | Pomen |
---|---|---|
signed int | 4. | uporablja se za cela števila (enakovredno int ) |
unsigned int | 4. | lahko shrani samo negativna cela števila |
short | 2. | uporablja se za majhna cela števila (obseg od -32768 do 32767 ) |
long | vsaj 4 | uporablja se za velika cela števila (kar ustreza long int ) |
unsigned long | 4. | uporablja se za velika pozitivna cela števila ali 0 (kar ustreza unsigned long int ) |
long long | 8. | uporablja se za zelo velika cela števila (kar ustreza long long int ). |
unsigned long long | 8. | uporablja se za zelo velika pozitivna cela števila ali 0 (kar ustreza unsigned long long int ) |
long double | 8. | uporablja se za velika števila s plavajočo vejico |
signed char | 1. | uporablja se za znake (zajamčeno območje od -127 do 127 ) |
unsigned char | 1. | uporablja se za znake (obseg od 0 do 255 ) |
kratki tip Modifikator
Lahko uporabimo short
za majhna cela števila (v območju −32,767
do +32,767
).
Na primer
// small integer short a = 12345;
Tu je a short
celoštevilčna spremenljivka.
Opomba: short
je enakovredno short int
.
dolgi modifikator tipa
Če moramo shraniti veliko celo število (v razponu od -2147483647 do 2147483647), lahko uporabimo specifikator tipa long
. Na primer
// large integer long b = 123456;
Opomba: long
je enakovredno long int
.
Modifikator dolgega tipa se lahko uporablja tudi s double
spremenljivkami.
// large floating-point number long double c = 0.333333333333333333L;
Opomba: Za označevanje long double
uporabljamo L
pripono. Če končnice ne uporabimo L
, double
se pretvori v vrednost, long double
ki lahko povzroči izgubo podatkov.
dolgo dolgo
long
lahko dvakrat ponovite, da ustvarite long long
tip. Ta vrsta se uporablja za celo večje številke kot long
. long long
modifikatorja tipa lahko uporabljate samo z int
.
Na primer
// long long int long long num = 12345678;
podpisani in nepodpisani modifikatorji
Podpisane spremenljivke lahko vsebujejo pozitivna in negativna cela števila, vključno z ničlo . Na primer
// positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;
Tukaj,
- x vsebuje pozitivno vrednoteno celo število
- y ima celo število z negativno vrednostjo
- z vsebuje ničvredno celo število
Opomba:
- Privzeto so cela števila
signed
. Namesto tegasigned
int
lahko neposredno uporabljamoint
. signed
in unsigned se lahko uporablja samo z vrstami int in char.
V nepodpisani spremenljivke lahko sprejme samo zunaj negativne vrednosti celo število. Na primer
// positive valued integer unsigned int x = 2; unsigned int y = 0;
Tukaj,
- x vsebuje pozitivno vrednoteno celo število
- y ima nič
Na splošno lahko int
spremenljivka shrani obseg vrednosti od -2,147,483,648 do 2,147,483,647 . Medtem ko unsigned in
lahko spremenljivka t shrani obseg vrednosti od 0 do 4.294.967.295 .
podpisan, nepodpisan in navaden znak
C ++ ima 3 različne vrste char: char
, signed char
in unsigned char
. V praksi obstajata v osnovi le dve vrsti: signed char
in unsigned char
.
To je zato, ker, čeprav char
ni enak signed char
ali unsigned char
v standardni C ++, različni prevajalniki obravnava char
kot eno signed char
ali unsigned char
po lastni izbiri.
Opomba: Ko uporabljamo samo char
namesto signed char
ali unsigned char
, je ta vrsta znana kot navaden znak .
Kot ste že uganili, signed char
lahko shrani pozitivna in negativna cela števila, medtem ko unsigned char
lahko shrani samo pozitivna cela števila (vključno z 0 ).
Zajamčena razpon število vrednosti signed char
lahko shrani je -127 do 127 , medtem ko je območje unsigned char
je od 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;
Tukaj,
- plain_1 vsebuje pozitivno celo število
- plain_2 vsebuje ničvredno celo število
- sin_1 ima pozitivno celo število
- sin_2 vsebuje ničvredno celo število
- sin_3 vsebuje negativno vrednoteno celo število
- unsin_1 vsebuje negativno vrednoteno celo število
- unsin_2 vsebuje ničvredno celo število
Opomba: Bolje je, da za izvajanje numeričnih manipulacij ne uporabljate navadnega znaka; Namesto tega je treba uporabiti podpisani znak ali nepodpisani znak. Navaden znak se sme uporabljati samo za shranjevanje vrednosti znakov.