Anahtar Fark: İmzalı karakter ve işaretsiz karakter, C programlamasında kullanılan iki veri türüdür. Hem imzasız hem de imzalı karakter karakterleri depolamak için kullanılır ve 8 bitlik bir alandan oluşur. İmzasız karakterler 0 ile 255 arasında, imzalı karakterler –128 ile 127 arasında değerlere sahiptir (8 bit bayt ve ikisinin tamamlayıcı aritmetiği olan bir makinede).
C90, C ile imzalı ve imzasız anahtar kelimeleri kullanma özelliğini etkinleştirdi. Bunların yalnızca küçük tamsayı değerleri kullanılacaksa kullanıldığını not etmek önemlidir. İmzalı karakter ve işaretsiz karakter, 16 bitlik bir makinede hem 8 bit bayttır. Öncelikle onlar tarafından temsil edilen aralıkta farklılık gösterirler. İmzasız karakter aralığı 0 - 255 arasında iken, karakter boyutu veya imzalı karakter miktarı -128 - 127 arasındadır.
Char'ın int değerlerine dönüşümü otomatik olarak C tarafından yapılır. Bununla birlikte, sonucun negatif olacağına karar veren makineye hala bağlıdır. Büyük harf A, tamsayı değerine 65 eşittir.
Char ile işaretlenmiş ve imzalı terimler, bu sekiz bitin içeriği bir tamsayı halinde yorumlanırsa, bu terimlerin bir miktar fark yaratabileceği anlamına gelir. Karakter veri türü genellikle varsayılan olarak işaretsiz türdendir. Ancak, C ++ ve ANSI C modunda, açıkça imzalı veya imzasız karakter olarak bildirmek için bir seçenek var. İmzasız karakterlerde 8 bit, veri bitleri olarak kullanılırken, imzalı karakter 1 bit'in (en önemli bit) bellekteki gösterimi, işaretlenmiş bit için, 7 bit ise veri bitleri olarak kullanılır. İmzalı bit 0 ise, bu sayının pozitif olduğu anlamına gelir. İmzalı bit 1 ise sayı negatiftir.
İmzalı Char ile İmzasız Char Arasındaki Karşılaştırma:
İmzalı Char | İmzasız Char | |
menzil | -128 ila +127 | 0 - 255 |
Tipik bit genişliği | 1 bayt | 1 bayt |
Örnek (x = 10000010) | İmzalı char x = -2 | İmzasız karakter = 82 |
temsil | 1 bit = İmzalı bit 7 bit = veri bitleri | 8 bit = veri bitleri |
deklarasyon | İmzalı karakter b | İmzasız karakter |