Kalkulator uzupełnienia do dwóch

Ten kalkulator uzupełnienia do dwóch zamienia liczby całkowite ze znakiem na binarne i z powrotem. Przykład: −42 to na 8 bitach 1101 0110.

Źródło: Hennessy/Patterson, Computer Organization and Design, Kap. „Signed and Unsigned Numbers“ (Zweierkomplement). Stan na: .

Liczba całkowita ze znakiem. Separatory tysięcy są dozwolone (1.024).
Moje narzędziaWpisane dane są zapisywane tylko w tej przeglądarce.

Wynik

Wynik
-42 = 1101 0110 (uzupełnienie do dwóch, 8 bit.)
Wszystkie postacie
WielkośćWartość
Wartość dziesiętna-42
Uzupełnienie do dwóch1101 0110
Zapis w uzupełnieniu do jedności1101 0101
Szesnastkowo0xD6
Zakres wartości-128 … 127
Wartość bezwzględna binarnie0010 1010
Kroki obliczeń
  • Wartość bezwzględna |-42| binarnie (8 bit.): 0010 1010.
  • Odwróć wszystkie bity (uzupełnienie do jedności): 1101 0101.
  • Dodaj 1 (uzupełnienie do dwóch): 1101 0110.
Uzupełnienie do dwóch to zwykły sposób zapisu liczb całkowitych ze znakiem w komputerach. Ma jedno zero, a zakres to −2^(n−1) do 2^(n−1) − 1.

Jak to obliczamy

Uzupełnienie do dwóch to standardowy zapis ujemnych liczb całkowitych w komputerach. Najstarszy bit pełni rolę znaku, a dodawanie i odejmowanie korzystają z tego samego układu, bez przypadków szczególnych.

Jak działa konwersja

Liczbę nieujemną zapisujemy binarnie jak zwykle i uzupełniamy zerami z lewej. Dla liczby ujemnej: zapisz wartość bezwzględną binarnie, odwróć wszystkie bity (uzupełnienie do jedności) i dodaj 1. Odwrotnie: gdy najstarszy bit to 1, wartość wynosi u − 2ⁿ, gdzie u to ciąg bitów odczytany jako liczba bez znaku. Na n bitach można zapisać od −2^(n−1) do 2^(n−1) − 1, czyli na 8 bitach od -128 do 127.

Przykład

−42 na 8 bitach: wartość bezwzględna 42 to 0010 1010. Odwrócenie daje 1101 0101 (uzupełnienie do jedności), dodanie 1 daje 1101 0110, szesnastkowo D6. Sprawdzenie: 1101 0110 odczytane bez znaku to 214, a 214 − 256 = -42. Ciąg 1000 0000 oznacza -128, najmniejszą liczbę 8-bitową; +128 już się nie mieści. Na 16 bitach −1 to FFFF szesnastkowo. Odczytane jako uzupełnienie do jedności, 1101 0110 miałoby wartość -41.

Najczęściej zadawane pytania

Jak zamienić liczbę ujemną na uzupełnienie do dwóch?

Zapisz wartość bezwzględną binarnie, odwróć wszystkie bity i dodaj 1. Dla −42 na 8 bitach: 0010 1010 → 1101 0101 → 1101 0110.

Czym różni się uzupełnienie do jedności od uzupełnienia do dwóch?

Uzupełnienie do jedności tylko odwraca bity; uzupełnienie do dwóch dodaje potem 1. Dzięki temu jest jedno zero, a arytmetyka działa bez reguł szczególnych.

Jaki zakres ma bajt w uzupełnieniu do dwóch?

Na 8 bitach od -128 do 127, czyli 256 różnych wartości.

Źródła i podstawa prawna

Stan na: · Zasady redakcyjne

Podobne narzędzia