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)?
- Zapisz liczbę dodatnią w postaci binarnej.
- Wykonaj negację wszystkich bitów (zamień 0 na 1 i 1 na 0).
- Do wyniku dodaj 1.
Przykład: Wyznacz -5 na 8 bitach:
- +5_(10) = 00000101_(2)
- Negacja bitów: 11111010
- 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.