Przejdź do treści głównej
INF.04Algorytmika i Struktury Danych

Kod uzupełnień do dwóch (U2)

Standardowy sposób reprezentacji liczb całkowitych ze znakiem w systemach cyfrowych, gdzie najstarszy bit (MSB) ma ujemną wagę pozycji (-2^(n-1)).

Jak wyznaczyć liczbę przeciwną w U2 (np. dla liczby 8-bitowej)?

  1. Zapisz liczbę dodatnią w postaci binarnej.
  2. Wykonaj negację wszystkich bitów (zamień 0 na 1 i 1 na 0).
  3. Do wyniku dodaj 1.

Przykład: Wyznacz -5 na 8 bitach:

  1. +5_(10) = 00000101_(2)
  2. Negacja bitów: 11111010
  3. Dodaj 1: 11111010 + 1 = 11111011_(U2) = -5_(10)

Zakres liczb w kodzie U2 dla n bitów:

langle -2ⁿ⁻¹, quad 2ⁿ⁻¹ - 1 rangle

  • Dla 8 bitów (bajt ze znakiem): langle -128, quad +127 rangle.
  • Dla 16 bitów (short): langle -32768, quad +32767 rangle.
  • Dla 32 bitów (int): langle -2147483648, quad +2147483647 rangle.

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Kod uzupełnień do dwóch (U2) lub rozpocznij trening.