Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İşaretsiz bir tamsayı bir tamsayıya veya kayan nokta türüne dönüştürüldüğünde, sonuç türünde özgün değer gösterilebilirse değer değiştirilmez.
Derleyici imzalanmamış bir tamsayıyı daha büyük boyutlu bir tamsayıya dönüştürdüğünde, değer sıfır genişletilmiştir. Daha küçük boyutlu bir tamsayıya dönüştürüldüğünde, yüksek sıralı bitler kesilir. Sonuç, bu örnekte gösterildiği gibi sonuç türü kullanılarak yorumlanır:
unsigned k = 65533;
short j;
j = k;
printf_s( "%hd\n", j ); // Prints -3
Derleyici işaretsiz bir tamsayıyı kayan nokta türüne dönüştürdüğünde, özgün değer tam olarak sonuç türünde temsil edilemiyorsa, sonuç sonraki daha yüksek veya daha düşük temsil edilebilir değerdir.
İntegral ve kayan nokta türlerinin boyutları hakkında bilgi için bkz. Temel türlerin depolanması.
Microsoft'a Özgü
Microsoft derleyicisinde unsigned
(veya unsigned int
) ve unsigned long
benzersiz ancak eşdeğer türlerdir. Bir unsigned int
değerin dönüştürülmesi, dönüştürme işlemiyle aynı şekilde unsigned long
devam eder.
END Microsoft'a Özgü
Aşağıdaki tabloda, imzalanmamış tam sayı türlerinden dönüştürmeler özetlenmiştir.
İmzasız tam sayı türlerinden dönüştürme tablosu
Kaynak | Amaç | Metot |
---|---|---|
unsigned char |
char |
Bit düzenini koru; yüksek sıralı bit, işaret biti olur |
unsigned char |
short |
Sıfır genişletme |
unsigned char |
long |
Sıfır genişletme |
unsigned char |
long long |
Sıfır genişletme |
unsigned char |
unsigned short |
Sıfır genişletme |
unsigned char |
unsigned long |
Sıfır genişletme |
unsigned char |
unsigned long long |
Sıfır genişletme |
unsigned char |
float |
Tam olarak dönüştür float |
unsigned char |
double |
Tam olarak dönüştür double |
unsigned char |
long double |
Tam olarak dönüştür long double |
unsigned short |
char |
Düşük sıralı baytları koru |
unsigned short |
short |
Bit düzenini koru; yüksek sıralı bit, işaret biti olur |
unsigned short |
long |
Sıfır genişletme |
unsigned short |
long long |
Sıfır genişletme |
unsigned short |
unsigned char |
Düşük sıralı baytları koru |
unsigned short |
unsigned long |
Sıfır genişletme |
unsigned short |
unsigned long long |
Sıfır genişletme |
unsigned short |
float |
Tam olarak dönüştür float |
unsigned short |
double |
Tam olarak dönüştür double |
unsigned short |
long double |
Tam olarak dönüştür long double |
unsigned long |
char |
Düşük sıralı baytları koru |
unsigned long |
short |
Düşük sıralı sözcüğü koru |
unsigned long |
long |
Bit düzenini koru; yüksek sıralı bit, işaret biti olur |
unsigned long |
long long |
Sıfır genişletme |
unsigned long |
unsigned char |
Düşük sıralı baytları koru |
unsigned long |
unsigned short |
Düşük sıralı sözcüğü koru |
unsigned long |
unsigned long long |
Sıfır genişletme |
unsigned long |
float |
En yakın temsil edilebilire dönüştür float |
unsigned long |
double |
Tam olarak dönüştür double |
unsigned long |
long double |
Tam olarak dönüştür long double |
unsigned long long |
char |
Düşük sıralı baytları koru |
unsigned long long |
short |
Düşük sıralı sözcüğü koru |
unsigned long long |
long |
Düşük sıralı dword'u koru |
unsigned long long |
long long |
Bit düzenini koru; yüksek sıralı bit, işaret biti olur |
unsigned long long |
unsigned char |
Düşük sıralı baytları koru |
unsigned long long |
unsigned short |
Düşük sıralı sözcüğü koru |
unsigned long long |
unsigned long |
Düşük sıralı dword'u koru |
unsigned long long |
float |
En yakın temsil edilebilire dönüştür float |
unsigned long long |
double |
En yakın temsil edilebilire dönüştür double |
unsigned long long |
long double |
En yakın temsil edilebilire dönüştür long double |