İmzalı vs İmzasız
Sayı sistemimiz negatif sonsuzdan pozitif sağa ve sıfır sağ ortadadı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, negatif sayılar kullanma yeteneğidir. İmzasız sayılar yalnızca sıfır veya daha büyük değerlere sahip olabilir. Buna karşılık, işaretli sayılar, negatif ile pozitif sayılar içeren bir aralıkla daha doğaldır.
İmzalı ve imzasız numaraların yaratılması, çok sınırlı kaynaklara sahip sayısal değerleri temsil etme ihtiyacı tarafından istenmiştir. Örneğin, 8 bit kullanarak yalnızca toplam 256 kombinasyonunuz olur. İmzasız bir sayıyla, bu 0 ile 255 arasında herhangi bir değer anlamına gelir. Buna karşılık, imzalı bir sayıya sahip olmak, işareti temsil ettiğiniz için zaten biraz kaybettiğiniz anlamına gelir. 7 bit ile maksimum 128 kombinasyonunuz vardır, bu nedenle 8 bit işaretli sayıya sahip aralığınız -128'den 127'ye kadardır. Bu nedenle, işlemin ilk günlerinde olduğu gibi sınırlı kaynaklarınız varsa, imzalanmamış sayılar kullanmak gitmenin yoluydu.
Programlamada imzalı ve imzasız sayılar kullanıldığında, ikisini aynı anda kullanmak sorunlara neden olabileceğinden yalnızca birini veya diğerini kullanmak daha güvenlidir. Birincisi, imzasız bir imzayı imzalı bir numarayla karşılaştırmanızdır. Bu genellikle uyarılara neden olur, ancak derleyici yine de derleyebilir. İkinci ve daha ciddi sorun, imzasız bir sayının içeriğini işaretli bir numaraya atamanızdır. İmzasız sayının değeri, imzalı sayının maksimum değerinden büyükse, bu bir hataya neden olur.
Teknoloji geliştikçe kaynaklar daha bol hale geldi ve imzasız sayıların kullanımı gittikçe daha az gerekli hale geliyor. Bunu açıklamak için, 32 bit uzunluğundaki bir sayının imzalanmamışsa maksimum işaretlenmiş değeri 2 milyon veya 4 milyon olabileceğini unutmayın. 64 bite geçtiğinizde, fark 90 ile 180 quintillion arasındadır; ortak programlarda nadiren kullanılan değerler.
Özet:
1.İmzalanmamış numara sadece sıfır ve pozitif sayılar içerirken, imzalı sayılar 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ın karıştırılması sorunlara neden olabilir.
4. imzalı veya imzasız numaraları kullanarak modern uygulamalarda çok az etkisi var.