2013-09-29 24 views
12

32 bit imzalı bir tamsayıya ait minimum değer nedir? Bu web sitesinde bir hesap oluşturmak için güvenlik "sorun" sorusu olur (düzenle: bağlantı artık kötü amaçlı yazılımdır) (beni yargılama) Sadece merak ve sıkıldım.32 bit işaretli tamsayıların minimum değeri nedir?

2,147,483,647 numaralı büyük sayıları depolayabilen tipik bir 32bit int hakkında konuştuklarını varsaydım. Ama ben -2147483647 denediğimde, sorunun yanlış olduğunu söyledim. -2,147,483,647 gibi çeşitli varyasyonları denedim ama hiçbir şey işe yaramıyor ...

Soruları yanlış yorumluyor muyum yoksa web sitesiyle ilgili bir sorun mu var?

PS Ben de denedim -2.147.483.648

önerildiği gibi burada enter image description here

+0

-2147483648'i denediniz mi, hatta muhtemelen 0 –

+1

Numarayı girmeden önce soruyu dikkatli bir şekilde okudunuz mu? Azami soru sorma ve en azını sorma (birkaç kez yenilemeye başla ve değiştiğini izle) arasındaki sıçrama olduğunu fark ettim. Hangisini bildiğinden emin ol! ;) – lurker

cevap

4

Signed 32 bitlik tamsayılar bir tamsayı en çok kullanılan boyutu 32 bittir -2,147,483,648

+0

Çalışmıyor, hala yanlış alıyorum diyor – java

+0

ve muhtemelen denemedim, ' –

+0

Bu arada, o siteye gittiğimde, maksimum için bana sorar? Yanlış okuduğunuz/her seferinde farklı bir soru sorabilmeniz mümkün mü? –

18

aşağı gidebilir bir resim. Son bit, pozitif ve negatif sayıları ayırt etmek için kullanılır. Son bit ayarlanmadıysa, sayı pozitiftir. Bu nedenle, en yüksek pozitif sayı 0x7FFFFFFF = (1<<31)-1 = 2147483647 (son bit ayarlanmamıştır).

Negatif sayılar için ikiün iltifat notasyonu yaygın olarak kullanılmaktadır. Tüm bitlerini tersine çevirerek ve 1 ekleyerek pozitif sayının karşıtlığını belirleyebilirsiniz. Böylece, maksimum tamsayı için karşılık, 0x80000001, ancak NOT minimum sayıdır.

İkinin iltifat notasyonundaki minimum sayı 0x80000000 = -2147483648 şeklindedir. Bu sayı ile ilgili ilginç gerçek, kendi tamamlayıcısına eşit olmasıdır, yani tüm bitlerin 0x7FFFFFFF sonuçlarının tersine çevrilmesi ve 0x80000000'un 1 sayısını ekleyerek orijinal numaraya eşittir.

wikipedia numaralı telefondan iki tane iltifat notasyonu.

İlgili konular