İMzalı ve İmzasız Arasındaki Fark

Anonim

İmzalı ve İmzasız

bulunmaktadır. Sayı sistemi negatif sonsuzdan pozitif sonsuzluğa uzanır, ortada sıfırdır. Bununla birlikte, programlamada temel olarak iki tür sayı vardır; imzalı ve imzasız. İmzalı ve imzasız bir sayı arasındaki temel fark, iyi, negatif sayılar kullanma becerisidir. İmzasız sayılar yalnızca sıfır veya daha büyük değerlere sahip olabilir. Bunun aksine, imzalanmış rakamlar negatif ila pozitif sayıları kapsayan bir aralıkla daha doğaldır.

İmzalı ve imzasız rakamların oluşturulması, sayısal değerlerin çok sınırlı kaynaklarla gösterilmesi gereği ile istenmiştir. Örneğin, 8 bit kullanarak, yalnızca toplam 256 kombinasyonunuz var. İşaretsiz bir sayı ile, 0 ile 255 arasında herhangi bir değer anlamına gelir. Buna karşılık, imzalanmış bir numaraya sahip olmak, işareti temsil etmek için bir miktar kaybettiğiniz anlamına gelir. 7 bit ile en çok 128 kombinasyona sahip olursunuz, böylece 8 bitlik imzalı bir sayı ile aralık -128 ile 127 arasındadır. Dolayısıyla, hesaplamanın ilk günlerinde gibi sınırlı kaynaklarınız varsa, imzasız numaraları kullanmak, yoludur.

Programlamada imzalı ve imzasız rakamları kullanırken, her ikisinin de aynı anda kullanılabilmesi problemlerle sonuçlanabileceğinden sadece birini veya daha fazlasını kullanmak daha güvenlidir. Birincisi, imzasız bir ile imzalı bir sayı karşılaştırdığınızda. Bu genellikle uyarılara neden olur, ancak derleyici yine de derleyebilir. İkinci ve daha ciddi sorun, imzasız numaranın içeriğini imzalı bir numaraya atadığınızda ortaya çıkar. İşaretsiz numaranın değeri imzalanmış numaranın maksimum değerinden büyükse bu bir hata ile sonuçlanır.

Teknoloji geliştikçe, kaynaklar daha bol hale geldi ve işaretsiz numaraların kullanımı gittikçe azalıyor hale geldi. Bunu göstermek için, 32 bit uzunluğundaki bir sayının, imzalanmamışsa 2 milyon veya 4 milyon maksimum imzalı değeri olabileceğini unutmayın. 64 bit'e geçtiğinizde fark 90 ila 180 kuantil arasındadır; ortak programlarda nadiren kullanılan değerler.

Özet:

1. İmzalanmamış numaralar yalnızca sıfır ve pozitif sayıları içerirken, imzalanmış rakamlar negatif sayılar içerir.

2. İmzalanan numaralar, imzalanmamış sayıların maksimum değerinin yarısına sahiptir.

3. İmzalı ve imzasız numaraları karıştırmak sorunlara neden olabilir.

4. İşaretli veya imzasız numaraların kullanılması, modern uygulamalarda çok az etkiye sahiptir.