Bu eğitimde, tür değiştiricileri ve bunları örnekler yardımıyla C ++ programlamada nasıl kullanacağımızı öğreneceğiz.
C ++ programlamasında, tür değiştiriciler temel veri türlerinin anlamını değiştirmek için kullanılır.
C ++ ' da dört tür değiştirici vardır.
short
long
signed
unsigned
İşte kısa bir özet:
Veri tipi | Boyut (Bayt cinsinden) | Anlam |
---|---|---|
signed int | 4 | tamsayılar için kullanılır (eşdeğer int ) |
unsigned int | 4 | yalnızca negatif olmayan tam sayıları depolayabilir |
short | 2 | küçük tamsayılar için kullanılır ( -32768 - 32767 aralığı ) |
long | en az 4 | büyük tamsayılar için kullanılır (eşdeğer long int ) |
unsigned long | 4 | büyük pozitif tamsayılar veya 0 (eşdeğer unsigned long int ) için kullanılır |
long long | 8 | çok büyük tamsayılar için kullanılır (eşdeğer long long int ). |
unsigned long long | 8 | çok büyük pozitif tamsayılar veya 0 (eşdeğer unsigned long long int ) için kullanılır |
long double | 8 | büyük kayan noktalı sayılar için kullanılır |
signed char | 1 | karakterler için kullanılır (garantili aralık -127 ila 127 ) |
unsigned char | 1 | karakterler için kullanılır ( 0-255 aralığı ) |
kısa tip Değiştirici
Küçük tamsayılarshort
için kullanabiliriz ( ila aralığında ).−32,767
+32,767
Örneğin,
// small integer short a = 12345;
Burada a bir short
tamsayı değişkendir.
Not: short
eşdeğerdir short int
.
uzun Tip Değiştirici
Büyük bir tamsayı saklamamız gerekirse (-2147483647 ile 2147483647 aralığında), tür tanımlayıcısını kullanabiliriz long
. Örneğin,
// large integer long b = 123456;
Not: long
eşdeğerdir long int
.
Uzun tip değiştirici, double
değişkenlerle de kullanılabilir .
// large floating-point number long double c = 0.333333333333333333L;
Not: To gösteriyor long double
, kullandığımız L
son eki. Soneki kullanmazsak, bu, dönüştürülen L
bir double
değerdir long double
(bu, veri kaybına neden olabilir).
uzunca
long
long long
türü oluşturmak için iki kez tekrarlanabilir . Bu tür, daha büyük sayılar için kullanılır long
. long long
tür değiştirici yalnızca ile kullanılabilir int
.
Örneğin,
// long long int long long num = 12345678;
imzalı ve imzasız Değiştiriciler
İşaretli değişkenler, sıfır dahil olmak üzere hem pozitif hem de negatif tam sayıları tutabilir . Örneğin,
// positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;
Buraya,
- x, pozitif değerli bir tamsayı tutar
- y, negatif değerli bir tamsayı tutar
- z sıfır değerli bir tamsayı tutar
Not:
- Varsayılan olarak tamsayılar
signed
. Dolayısıyla bunun yerinesigned
int
doğrudan kullanabilirizint
. signed
ve unsigned yalnızca int ve char türleriyle kullanılabilir.
İşaretsiz değişkenler sadece negatif olmayan bir tamsayı değerler alabilir. Örneğin,
// positive valued integer unsigned int x = 2; unsigned int y = 0;
Buraya,
- x, pozitif değerli bir tamsayı tutar
- y sıfır tutar
In general, an int
variable can store a range of values from -2,147,483,648 to 2,147,483,647. Whereas, an unsigned in
t variable can store a range of values from 0 to 4,294,967,295.
signed, unsigned and plain char
C++ has 3 different char types: char
, signed char
and unsigned char
. In practice, there are basically only 2 types: signed char
and unsigned char
.
This is because even though char
is not the same as signed char
or unsigned char
in standard C++, different compilers treat char
as either signed char
or unsigned char
according to their own preference.
Note: When we only use char
instead of signed char
or unsigned char
, this type is known as plain char.
Tahmin edebileceğiniz gibi, signed char
hem pozitif hem de negatif tam sayıları unsigned char
saklayabilirken, yalnızca pozitif tam sayıları ( 0 dahil ) saklayabilir .
Garanti değerleri tam sayı aralığı signed char
saklayabilir olan ila 127 -127 aralığı ise unsigned char
olan 0 ila 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;
Buraya,
- Plain_1, pozitif değerli bir tam sayı içerir
- Plain_2, sıfır değerli bir tamsayı içerir
- sin_1, pozitif değerli bir tam sayıya sahiptir
- sin_2, sıfır değerli bir tam sayı içerir
- sin_3, negatif değerli bir tam sayı içerir
- unsin_1, negatif değerli bir tam sayı içerir
- unsin_2, sıfır değerli bir tam sayı içerir
Not: Sayısal işlemlerde düz karakter kullanılmaması tercih edilir; Bunun için imzalı karakter veya imzasız karakter kullanılmalıdır. Düz karakter yalnızca karakter değerlerini saklamak için kullanılmalıdır.