Pamiętaj: Wyniki kalkulatorów mają charakter poglądowy. Dokładamy wszelkich starań, by były poprawne, ale zawsze weryfikuj je z fachowcem.

Przejdź do treści

Kalkulator U2 – liczby ze znakiem, zakres i przepełnienie

Zakoduj liczbę dziesiętną w kodzie uzupełnień do dwóch, odczytaj gotowe słowo U2 albo sprawdź dodawanie ze znakiem i przepełnienie dla wybranej liczby bitów.

Uczysz się tego tematu?

Wybierz materiał zależnie od tego, czy chcesz nauczyć się tematu, przypomnieć regułę czy przejść przez sposób rozwiązania zadania.

AK

Akademia informatyki

Przejdź przez temat po kolei: systemy liczbowe, bity, U2, dane cyfrowe i multimedia.

Otwórz →
TAB

Tablica informatyki

Szybko sprawdź potęgi 2, zakresy, operacje bitowe, jednostki i najważniejsze wzory.

Otwórz →
POR

Jak rozwiązywać zadania?

Zobacz, jak rozpoznać typ zadania, dobrać sposób liczenia i skontrolować wynik.

Otwórz →

Dane U2

Szerokość słowa jest częścią zapisu U2 — ta sama sekwencja bitów może mieć inne znaczenie po zmianie liczby bitów.
Przykład dla 8 bitów: zakres od −128 do 127.
Podaj dokładnie tyle bitów, ile wybrano w polu „Szerokość słowa”.
Obie liczby muszą mieścić się w zakresie wybranego słowa U2. Kalkulator pokaże, czy matematyczna suma także się mieści.

Wynik

Wynik / zapis U2
Zakres dla słowa
Bit znaku
Przepełnienie
Zapis pomocniczy
Wniosek
Uzupełnij dane.

Zostań w temacie i policz dalej

Rozwiązujesz zadania z informatyki? Te narzędzia najczęściej przydają się jako następny krok.

BIN

Jak dodawać i odejmować binarnie?

Wykonaj +, − i × na liczbach binarnych z zapisem działania.

Policz arytmetykę binarną →
AND

Jak wykonać AND, OR i XOR?

Policz operacje bitowe, NOT oraz przesunięcia bitowe.

Policz operacje bitowe →
2ⁿ

Jaki zakres daje określona liczba bitów?

Sprawdź liczbę stanów i zakres wartości bez znaku.

Policz liczbę bitów →
DEC

Jak zamienić DEC na BIN i HEX?

Przelicz liczby pomiędzy BIN, OCT, DEC i HEX.

Przejdź do systemów liczbowych →

Kroki obliczenia

  1. Wybierz szerokość słowa i tryb.

Co to jest kod U2?

U2, czyli kod uzupełnień do dwóch, jest powszechnym sposobem zapisywania całkowitych liczb ze znakiem w stałej liczbie bitów. Najstarszy bit pełni rolę bitu znaku, ale nie można go traktować jak zwykłego znaku „minus” dopisanego przed liczbą.

W n-bitowym słowie połowa możliwych kombinacji reprezentuje liczby nieujemne, a połowa ujemne. Dla 8 bitów można zapisać wartości od −128 do 127. Wartość 10000000₂ oznacza −128, natomiast 01111111₂ oznacza 127.

zakres U2 dla n bitów: −2n−1 ... 2n−1 − 1

Szerokość słowa jest niezbędna. Zapis U2 nie jest kompletny bez informacji, czy analizujemy np. 8, 16 czy 32 bity.

Do zwykłej zamiany BIN/OCT/DEC/HEX służy kalkulator systemów liczbowych. Ten kalkulator koncentruje się na zakresie, znaku, kodowaniu i przepełnieniu liczb ze znakiem.

Jak zakodować dodatnią liczbę w U2?

Dla liczby nieujemnej zapis U2 jest taki sam jak zwykły zapis binarny, o ile wartość mieści się w dodatnim zakresie wybranego słowa. Do lewej strony dopisuje się zera aż do osiągnięcia wymaganej liczby bitów.

37₁₀ = 00100101₂ (8 bitów U2)

Najstarszy bit wynosi 0, więc liczba jest nieujemna. Nie można jednak w 8-bitowym U2 zapisać dodatniej liczby 200, ponieważ maksymalna wartość to 127.

To ważna różnica względem 8-bitowej liczby bez znaku, która może przyjmować wartości od 0 do 255.

Kalkulator automatycznie sprawdza zakres przed utworzeniem kodu.

Jak zakodować liczbę ujemną w U2?

Najczęściej stosowana metoda szkolna składa się z trzech etapów. Najpierw zapisujesz wartość bezwzględną liczby binarnie na dokładnie tylu bitach, ile ma słowo. Następnie odwracasz wszystkie bity, a na końcu dodajesz 1.

liczba ujemna U2 = odwróć bity wartości dodatniej + 1
−37 w 8 bitach: 37 = 00100101 NOT = 11011010 +1 = 11011011 −37 = 11011011₂

Jeżeli wynik zaczyna się od 1, oznacza to liczbę ujemną w interpretacji U2. Sama jedynka z lewej nie mówi jednak, jaka jest wartość liczby — potrzebne są wszystkie bity i szerokość słowa.

Dla najbardziej ujemnej wartości, np. −128 w 8 bitach, kod wynosi 10000000₂.

Jak odczytać liczbę U2, gdy bit znaku wynosi 1?

Jeżeli najstarszy bit jest równy 0, odczytujesz liczbę tak jak zwykłą nieujemną liczbę binarną. Jeśli najstarszy bit wynosi 1, można zastosować metodę odwrotną: odwrócić wszystkie bity, dodać 1 i do otrzymanej wartości dopisać znak minus.

11011011₂: odwrócenie → 00100100 +1 → 00100101 = 37 wynik → −37

Można też obliczyć wartość szybciej: potraktować słowo jako liczbę bez znaku i odjąć 2n. Dla 11011011₂ w 8 bitach wartość bez znaku to 219, a 219 − 256 = −37.

gdy bit znaku = 1: wartość U2 = wartość bez znaku − 2n

Kalkulator pokazuje oba znaczenia: surową sekwencję bitów oraz wynik dziesiętny ze znakiem.

Zakres U2 – ile można zapisać na 4, 8, 16 i 32 bitach?

BityMinimumMaksimumLiczba wartości
4−8716
8−128127256
16−32 76832 76765 536
32−2 147 483 6482 147 483 6474 294 967 296

Ujemna część zakresu ma o jedną wartość więcej niż dodatnia. Wynika to z tego, że zero zajmuje jeden kod, a w U2 nie ma osobnego „ujemnego zera”.

Dlatego dla n bitów minimum to −2n−1, a maksimum 2n−1−1.

Przepełnienie w dodawaniu U2 – kiedy wynik jest błędny?

Dodawanie bitów w U2 można wykonać tak samo jak zwykłe dodawanie binarne, ignorując przeniesienie wychodzące poza szerokość słowa. Problem pojawia się wtedy, gdy prawidłowy wynik matematyczny nie mieści się w dopuszczalnym zakresie.

Przepełnienie dla dodawania liczb ze znakiem występuje wtedy, gdy dodajemy dwie liczby o tym samym znaku, a wynik w ograniczonym słowie ma znak przeciwny.

8 bitów: 90 = 01011010 50 = 00110010 -------------- 140 = 10001100 ← bitowo mieści się w 8 bitach, ale +140 nie mieści się w U2 [−128, 127]

Odczytanie 10001100 jako 8-bitowego U2 da −116. Nie jest to prawidłowa suma 90 + 50, tylko skutek przepełnienia.

Kalkulator pokazuje zarówno matematyczną sumę, surowy wynik n-bitowy, jak i informację o przepełnieniu.

Dla ucznia i studenta – jak rozwiązać zadanie z U2?

1. Zapisz liczbę bitów. Bez szerokości słowa nie da się jednoznacznie określić zakresu i poprawnie interpretować liczb ujemnych.

2. Oblicz zakres. Dla n bitów jest to od −2n−1 do 2n−1−1. Sprawdź, czy dana liczba w ogóle się mieści.

3. Dla liczby dodatniej zapisz zwykłą postać binarną i uzupełnij zerami z lewej strony.

4. Dla liczby ujemnej zapisz wartość bezwzględną, odwróć bity i dodaj 1.

5. Przy odczycie spójrz na najstarszy bit. 0 oznacza wartość nieujemną, 1 — ujemną.

6. Przy dodawaniu sprawdź przepełnienie. Sam fakt, że otrzymałeś n bitów, nie oznacza jeszcze, że matematyczna suma mieści się w zakresie U2.

Do ćwiczenia zwykłego dodawania, odejmowania i mnożenia bitów użyj kalkulatora arytmetyki binarnej. U2 dotyczy dodatkowo interpretacji znaku i ograniczonego zakresu.

Pozostałe narzędzia znajdziesz w kategorii Informatyka.

Najczęstsze błędy w kodzie U2

  • Brak liczby bitów. Sam zapis „1011 w U2” jest niepełny, jeśli nie znamy szerokości słowa.
  • Traktowanie najstarszego bitu jak znaku minus. W U2 wszystkie bity razem tworzą wartość.
  • Odwrócenie bitów bez dodania 1. To nie daje U2 liczby ujemnej.
  • Zakodowanie wartości poza zakresem. Dodatnie 128 nie mieści się w 8-bitowym U2.
  • Mylenie U2 z liczbą bez znaku. 11111111₂ to 255 bez znaku, ale −1 w 8-bitowym U2.
  • Ignorowanie przepełnienia. Surowe n bitów może reprezentować inną wartość niż matematyczna suma.
  • Mylenie zwykłego minusa z U2. Zapis −101₂ nie jest tym samym co konkretne n-bitowe słowo U2.

Zadania do samodzielnego rozwiązania

Spróbuj policzyć samodzielnie, a następnie kliknij „Pokaż wynik”.

Zadanie 1 – kodowanie liczby ujemnej

Zapisz −18 w 8-bitowym kodzie U2.

18 = 00010010.

Odwrócenie: 11101101.

Dodaj 1: 11101110.

−18 = 11101110₂ w 8-bitowym U2.

Zadanie 2 – odczyt U2

Jaką wartość dziesiętną ma 11110110 w 8-bitowym U2?

Bit znaku = 1, więc liczba jest ujemna.

Odwrócenie: 00001001. Dodaj 1: 00001010 = 10.

Wynik: −10.

Zadanie 3 – przepełnienie

Czy suma 70 + 70 mieści się w 8-bitowym U2?

Zakres 8-bitowego U2: −128...127.

70 + 70 = 140.

Nie. Występuje przepełnienie, bo 140 > 127.

Dlaczego U2 nie ma „ujemnego zera”?

W kodzie znak-moduł można byłoby utworzyć osobne +0 i −0. W U2 istnieje tylko jeden zapis zera: wszystkie bity równe 0.

Dzięki temu jedna dodatkowa kombinacja bitów może reprezentować najbardziej ujemną liczbę, np. −128 w 8 bitach.

Powiązane narzędzia informatyczne

Do zwykłych działań `+`, `−` i `×` na liczbach BIN służy kalkulator arytmetyki binarnej.

Do zamiany pomiędzy BIN, OCT, DEC i HEX użyj kalkulatora systemów liczbowych.

Pozostałe narzędzia znajdziesz w kategorii Informatyka.

Wskazówka od KalkulatorXXL

W zadaniu o U2 jako pierwszą informację zapisz liczbę bitów. Dopiero potem licz zakres, koduj liczbę albo analizuj przepełnienie.

Przy liczbie ujemnej najprostsza kontrola szkolna brzmi: wartość bezwzględna → zapis binarny na n bitach → odwrócenie → +1.

Najczęstsze pytania o kod U2

U2 to kod uzupełnień do dwóch, używany do reprezentowania całkowitych liczb ze znakiem w słowie o ustalonej liczbie bitów.

Od −128 do 127. Minimum to −2^7, a maksimum 2^7−1.

Od −2^(n−1) do 2^(n−1)−1.

Tak samo jak zwykłą liczbę binarną, uzupełniając zapis zerami z lewej do wymaganej szerokości słowa.

Zapisz wartość bezwzględną na n bitach, odwróć wszystkie bity i dodaj 1.

Możesz odwrócić bity, dodać 1 i nadać wynikowi znak minus albo od wartości bez znaku odjąć 2^n.

Bit 0 oznacza liczbę nieujemną, a bit 1 liczbę ujemną, ale wartość zależy od całego słowa.

To zależy od interpretacji. Jako 8-bitowa liczba bez znaku jest to 255, a jako 8-bitowe U2 jest to −1.

Nie. W U2 istnieje tylko jeden kod zera: wszystkie bity są równe 0.

To sytuacja, gdy prawidłowy wynik matematyczny nie mieści się w zakresie dla ustalonej liczby bitów.

Typowo wtedy, gdy dodajemy dwie liczby o tym samym znaku, a ograniczony n-bitowy wynik ma znak przeciwny.

Nie zawsze. W U2 przepełnienie liczb ze znakiem ocenia się na podstawie zakresu i znaków operandów oraz wyniku, a nie wyłącznie ostatniego przeniesienia.

Nie. Kalkulator U2 koncentruje się na liczbach ze znakiem, zakresie i przepełnieniu, a kalkulator systemów liczbowych służy do ogólnej konwersji BIN, OCT, DEC i HEX.

Tak. Pokazuje zakres, zapis liczby ujemnej krok po kroku, odczyt słowa U2 oraz przepełnienie przy dodawaniu.