Aracılığıyla paylaş


İmzasız tam sayı türlerinden dönüştürmeler

İş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 longdevam 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

Ayrıca bkz.

Atama dönüştürmeleri