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.
İmzalı bir tamsayı bir tamsayıya veya kayan nokta türüne dönüştürüldüğünde, sonuç türünde gösterilebilirse değer değişmez.
İmzalı bir tamsayı daha büyük boyutlu bir tamsayıya dönüştürüldüğünde, değer işaret 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:
int i = -3;
unsigned short u;
u = i;
printf_s( "%hu\n", u ); // Prints 65533
Derleyici imzalı 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ı.
Aşağıdaki tabloda, imzalı tam sayı türlerinden dönüştürmeler özetlenmiştir. Türün char varsayılan olarak imzalı olduğunu varsayar. Türün varsayılan değerini işaretsiz olarak değiştirmek için char bir derleme zamanı seçeneği kullanırsanız, bu tablodaki unsigned char tablosunda verilen dönüştürmeler uygulanır.
Microsoft'a Özgü
Microsoft derleyicisinde int ve long benzersiz ancak eşdeğer türlerdir. Bir int değerin dönüştürülmesi, dönüştürme işlemiyle aynı şekilde longdevam eder.
END Microsoft'a Özgü
İmzalı tam sayı türlerinden dönüştürme tablosu
| Kaynak | Amaç | Metot |
|---|---|---|
char
1 |
short |
İmza genişletme |
char |
long |
İmza genişletme |
char |
long long |
İmza genişletme |
char |
unsigned char |
Deseni koru; high-order bit loses işlevi olarak işaret biti |
char |
unsigned short |
Oturum açma-genişletme: short; dönüştürme shortunsigned short |
char |
unsigned long |
Oturum açma-genişletme: long; dönüştürme longunsigned long |
char |
unsigned long long |
Oturum açma-genişletme: long long; dönüştürme long longunsigned long long |
char |
float |
Tam olarak olarak temsil float |
char |
double |
Tam olarak olarak temsil double |
char |
long double |
Tam olarak olarak temsil long double |
short |
char |
Düşük sıralı baytları koru |
short |
long |
İmza genişletme |
short |
long long |
İmza genişletme |
short |
unsigned char |
Düşük sıralı baytları koru |
short |
unsigned short |
Bit düzenini koru; high-order bit loses işlevi olarak işaret biti |
short |
unsigned long |
Oturum açma-genişletme: long; dönüştürme longunsigned long |
short |
unsigned long long |
Oturum açma-genişletme: long long; dönüştürme long longunsigned long long |
short |
float |
Tam olarak olarak temsil float |
short |
double |
Tam olarak olarak temsil double |
short |
long double |
Tam olarak olarak temsil long double |
long |
char |
Düşük sıralı baytları koru |
long |
short |
Düşük sıralı sözcüğü koru |
long |
long long |
İmza genişletme |
long |
unsigned char |
Düşük sıralı baytları koru |
long |
unsigned short |
Düşük sıralı sözcüğü koru |
long |
unsigned long |
Bit düzenini koru; high-order bit loses işlevi olarak işaret biti |
long |
unsigned long long |
Oturum açma-genişletme: long long; dönüştürme long longunsigned long long |
long |
float |
olarak floattemsil edin.
long Tam olarak temsil edilemiyorsa, bazı duyarlık kaybolur. |
long |
double |
Tam olarak olarak temsil double |
long |
long double |
Tam olarak olarak temsil long double |
long long |
char |
Düşük sıralı baytları koru |
long long |
short |
Düşük sıralı sözcüğü koru |
long long |
long |
Düşük sıralı dword'u koru |
long long |
unsigned char |
Düşük sıralı baytları koru |
long long |
unsigned short |
Düşük sıralı sözcüğü koru |
long long |
unsigned long |
Düşük sıralı dword'u koru |
long long |
unsigned long long |
Bit düzenini koru; high-order bit loses işlevi olarak işaret biti |
long long |
float |
olarak floattemsil edin.
long long Tam olarak temsil edilemiyorsa, bazı duyarlık kaybolur. |
long long |
double |
olarak doubletemsil edin.
long long Tam olarak olarak olarak doubletemsil edilemiyorsa, bazı duyarlık kaybolur. |
long long |
long double |
olarak doubletemsil edin.
long long Tam olarak olarak olarak doubletemsil edilemiyorsa, bazı duyarlık kaybolur. |
1 Tüm char girdiler, türün char varsayılan olarak imzalandığını varsayar.