2013-09-29 29 views
12

Jaka jest minimalna wartość 32-bitowej liczby całkowitej ze znakiem, jest to pytanie "wyzwanie" bezpieczeństwa w celu utworzenia konta w [tej witrynie] (edycja: link jest teraz złośliwym oprogramowaniem) (nie oceniaj mnie ") jestem po prostu ciekawy i znudzony).Jaka jest minimalna wartość 32-bitowej liczby całkowitej ze znakiem?

Zakładam, że mówiono o typowej int 32-bitowej, która może przechowywać liczby tak duże, jak 2,147,483,647. Ale kiedy próbowałem -2147483647 powiedział, że mam pytanie źle. Próbowałem kilku odmian, takich jak -2,147,483,647, ale nic nie działa ...

Czy źle interpretuję pytanie lub czy coś jest nie tak z witryną?

PS Próbowałem też -2147483648 jak sugeruje

Oto obraz enter image description here

+0

Czy próbowałeś -2147483648, a może nawet 0 –

+1

Czy przeczytałeś dokładnie to pytanie przed wprowadzeniem numeru? Zauważyłem, że odbija się od pytania o maksimum i prosi o minimum (odśwież kilka razy i zobacz, jak się zmienia). Upewnij się, że wiesz, który! ;) – lurker

Odpowiedz

4

Podpisane 32-bitowe liczby całkowite mogą zejść do -2,147,483,648

+0

Nie działa, nadal mówi, że się mylę – java

+0

i prawdopodobnie próbowałeś bez ',' –

+0

Nawiasem mówiąc, kiedy odwiedzam tę stronę, pyta mnie o maksimum? Czy to możliwe, że czytasz to źle/za każdym razem zadaje inne pytanie? –

18

Najczęściej stosowanym wielkość liczby całkowitej wynosi 32 bitów. Ostatni bit służy do rozróżniania liczb dodatnich i ujemnych. Jeśli ostatni bit NIE jest ustawiony, wówczas liczba jest dodatnia. Dlatego maksymalna liczba dodatnia to 0x7FFFFFFF = (1<<31)-1 = 2147483647 (ostatni bit nie jest ustawiony).

W przypadku liczb ujemnych powszechnie stosowana jest notacja dwugłosowa. Możesz zidentyfikować odpowiednik liczby dodatniej, odwracając wszystkie bity i dodając 1. Tak więc, odpowiednikiem maksymalnej liczby całkowitej jest 0x80000001, jednak jest to minimalna liczba NOT.

Minimalna liczba w notacji dwóch uzupełniających to 0x80000000 = -2147483648. Ciekawostką na temat tej liczby jest to, że jest ona równa jej własnemu dopełnieniu, tj. Odwrócenie wszystkich bitów powoduje 0x7FFFFFFF i dodanie 1 plonów 0x80000000, który jest równy pierwotnej liczbie.

Więcej informacji na temat notacji dwóch osób w dokumencie wikipedia.

Powiązane problemy