Streszczenie Dodawanie i odejmowanie w systemie dwójkowym

Dodawanie i Odejmowanie w Systemie Dwójkowym: Kompletny Przewodnik

System Binarny i Arytmetyka Binarna

System dwójkowy, znany również jako system binarny, to fundament działania wszystkich współczesnych komputerów i urządzeń cyfrowych. W przeciwieństwie do systemu dziesiętnego, który wykorzystuje dziesięć cyfr (od $0$ do $9$), system binarny posługuje się tylko dwoma cyframi: $0$ i $1$. Te dwie cyfry, nazywane bitami, reprezentują stany logiczne, takie jak włączony/wyłączony, prawda/fałsz, wysoki/niski poziom napięcia.

Zrozumienie, jak wykonywane są podstawowe operacje arytmetyczne, takie jak dodawanie i odejmowanie, w systemie binarnym jest fundamentalne dla każdego, kto zajmuje się informatyką, elektroniką cyfrową czy programowaniem niskopoziomowym.

Bit: Najmniejsza jednostka informacji, reprezentowana przez cyfrę binarną $0$ lub $1$.

Dodawanie Liczb Binarnych

Dodawanie liczb binarnych jest procesem analogicznym do dodawania liczb dziesiętnych. Główna różnica polega na tym, że operujemy jedynie cyframi $0$ i $1$. Wynik dodawania może generować tzw. przeniesienie do kolejnej, bardziej znaczącej pozycji, podobnie jak w systemie dziesiętnym, gdy suma cyfr przekroczy $9$.

Podstawowe zasady dodawania bitów

Oto podstawowe reguły dodawania dwóch lub trzech bitów:

  • $0 + 0 = 0$
  • $0 + 1 = 1$
  • $1 + 0 = 1$
  • $1 + 1 = 10_2$ (czyli $0$ z przeniesieniem $1$ do następnej pozycji)
  • $1 + 1 + 1 = 11_2$ (czyli $1$ z przeniesieniem $1$ do następnej pozycji; zdarza się, gdy dodajemy trzy jedynki: dwie z bieżącej kolumny i jedną z przeniesienia z poprzedniej kolumny)

Podobnie jak w systemie dziesiętnym, dodawanie liczb binarnych wykonuje się pisemnie, kolumna po kolumnie, zaczynając od najmniej znaczącego bitu (LMB, ang. Least Significant Bit), czyli od prawej strony. Wszelkie przeniesienia są dodawane do kolejnej kolumny po lewej stronie.

Przykład dodawania 8-bitowych liczb binarnych

Rozważmy dodawanie dwóch 8-bitowych liczb binarnych: $01010110_2$ (dziesiętnie $86$) i $00111001_2$ (dziesiętnie $57$).

  ¹ ¹ ¹ ¹ (przeniesienia)
  01010110₂ (86₁₀)
+ 00111001₂ (57₁₀)
-----------
  10001111₂ (143₁₀)

Wyjaśnienie krok po kroku:

  1. Bit 0 (skrajnie prawy): $0 + 1 = 1$. Brak przeniesienia.
  2. Bit 1: $1 + 0 = 1$. Brak przeniesienia.
  3. Bit 2: $1 + 0 = 1$. Brak przeniesienia.
  4. Bit 3: $0 + 1 = 1$. Brak przeniesienia.
  5. Bit 4: $1 + 1 = 10_2$. Zapisujemy $0$, przenosimy $1$ do kolumny Bit 5.
  6. Bit 5: $0 + 1$ (z przeniesienia) $+ 1 = 10_2$. Zapisujemy $0$, przenosimy $1$ do kolumny Bit 6.
  7. Bit 6: $1 + 0 + 1$ (z przeniesienia) $= 10_2$. Zapisujemy $0$, przenosimy $1$ do kolumny Bit 7.
  8. Bit 7 (skrajnie lewy): $0 + 0 + 1$ (z przeniesienia) $= 1$. Brak przeniesienia poza zakres $8$ bitów.

Wynik to $10001111_2$, co w systemie dziesiętnym odpowiada liczbie $143$. Sprawdzenie: $86 + 57 = 143$.

💡 Czy wiesz, że?Did you know, że technika dodawania bit po bicie z przeniesieniem była używana w mechanicznych kalkulatorach na długo przed wynalezieniem komputerów elektronicznych?

Przepełnienie (Overflow)

Przepełnienie: Sytuacja, w której wynik operacji arytmetycznej przekracza maksymalną wartość, jaką można przedstawić w dostępnej liczbie bitów.

Przepełnienie (ang. overflow) występuje, gdy wynik operacji arytmetycznej przekracza maksymalną wartość, jaką można przedstawić w dostępnej liczbie bitów. Dla liczb $8$-bitowych bez znaku (ang. unsigned), zakres wynosi od $0$ do $2^8 - 1$, czyli od $0$ do $255$. Jeśli wynik dodawania przekroczy $255$, nastąpi przepełnienie. Komputery często sygnalizują przepełnienie za pomocą specjalnej flagi w procesorze, aby programista mógł odpowiednio zareagować.

W przypadku liczb ze znakiem (ang. signed), gdzie jeden bit jest używany do reprezentacji znaku (zazwyczaj najbardziej znaczący bit - MSB, ang. Most Significant Bit), zakres dla $8$ bitów wynosi od $-128$ do $127$. Przepełnienie w liczbach ze znakiem jest bardziej złożone i może wystąpić, gdy:

  • Dodajemy dwie liczby dodatnie i otrzy
Zarejestruj się po pełne podsumowanie
FiszkiTest wiedzyStreszczeniePodcastMapa myśli
Zacznij za darmo

Masz już konto? Zaloguj się

Arytmetyka binarna

Klíčová slova: System binarny i arytmetyka binarna, Arytmetyka binarna i reprezentacja liczb, Symulacja arytmetyki binarnej

Klíčové pojmy: System binarny używa tylko cyfr $0$ i $1$ (bitów)., Dodawanie binarne jest analogiczne do dziesiętnego, z zasadami $0+0=0$, $0+1=1$, $1+1=10_2$, $1+1+1=11_2$., Przeniesienia w dodawaniu binarnym są kluczowe i dodawane do kolejnych kolumn., Przepełnienie (overflow) następuje, gdy wynik operacji przekracza zakres dostępnych bitów., Dla liczb bez znaku, przepełnienie występuje po przekroczeniu $2^N-1$ dla $N$ bitów., Dla liczb ze znakiem, przepełnienie może wystąpić, gdy suma liczb dodatnich da wynik ujemny, lub suma ujemnych da wynik dodatni., Odejmowanie binarne często realizuje się przez dodawanie z użyciem dopełnienia do dwóch., Aby znaleźć dopełnienie do dwóch liczby ujemnej: zamień jej bity (dopełnienie do jedności), a następnie dodaj $1$., Metoda dopełnienia do dwóch upraszcza układy arytmetyczne w procesorach, łącząc dodawanie i odejmowanie.

# System Binarny i Arytmetyka Binarna System dwójkowy, znany również jako system binarny, to fundament działania wszystkich współczesnych komputerów i urządzeń cyfrowych. W przeciwieństwie do systemu dziesiętnego, który wykorzystuje dziesięć cyfr (od $0$ do $9$), system binarny posługuje się tylko dwoma cyframi: $0$ i $1$. Te dwie cyfry, nazywane bitami, reprezentują stany logiczne, takie jak włączony/wyłączony, prawda/fałsz, wysoki/niski poziom napięcia. Zrozumienie, jak wykonywane są podstawowe operacje arytmetyczne, takie jak dodawanie i odejmowanie, w systemie binarnym jest fundamentalne dla każdego, kto zajmuje się informatyką, elektroniką cyfrową czy programowaniem niskopoziomowym. > Bit: Najmniejsza jednostka informacji, reprezentowana przez cyfrę binarną $0$ lub $1$. ## Dodawanie Liczb Binarnych Dodawanie liczb binarnych jest procesem analogicznym do dodawania liczb dziesiętnych. Główna różnica polega na tym, że operujemy jedynie cyframi $0$ i $1$. Wynik dodawania może generować tzw. **przeniesienie** do kolejnej, bardziej znaczącej pozycji, podobnie jak w systemie dziesiętnym, gdy suma cyfr przekroczy $9$. ### Podstawowe zasady dodawania bitów Oto podstawowe reguły dodawania dwóch lub trzech bitów: * $0 + 0 = 0$ * $0 + 1 = 1$ * $1 + 0 = 1$ * $1 + 1 = 10_2$ (czyli $0$ z przeniesieniem $1$ do następnej pozycji) * $1 + 1 + 1 = 11_2$ (czyli $1$ z przeniesieniem $1$ do następnej pozycji; zdarza się, gdy dodajemy trzy jedynki: dwie z bieżącej kolumny i jedną z przeniesienia z poprzedniej kolumny) Podobnie jak w systemie dziesiętnym, dodawanie liczb binarnych wykonuje się pisemnie, kolumna po kolumnie, zaczynając od **najmniej znaczącego bitu** (LMB, ang. *Least Significant Bit*), czyli od prawej strony. Wszelkie przeniesienia są dodawane do kolejnej kolumny po lewej stronie. ### Przykład dodawania 8-bitowych liczb binarnych Rozważmy dodawanie dwóch 8-bitowych liczb binarnych: $01010110_2$ (dziesiętnie $86$) i $00111001_2$ (dziesiętnie $57$). ``` ¹ ¹ ¹ ¹ (przeniesienia) 01010110₂ (86₁₀) + 00111001₂ (57₁₀) ----------- 10001111₂ (143₁₀) ``` **Wyjaśnienie krok po kroku:** 1. **Bit 0 (skrajnie prawy):** $0 + 1 = 1$. Brak przeniesienia. 2. **Bit 1:** $1 + 0 = 1$. Brak przeniesienia. 3. **Bit 2:** $1 + 0 = 1$. Brak przeniesienia. 4. **Bit 3:** $0 + 1 = 1$. Brak przeniesienia. 5. **Bit 4:** $1 + 1 = 10_2$. Zapisujemy $0$, przenosimy $1$ do kolumny Bit 5. 6. **Bit 5:** $0 + 1$ (z przeniesienia) $+ 1 = 10_2$. Zapisujemy $0$, przenosimy $1$ do kolumny Bit 6. 7. **Bit 6:** $1 + 0 + 1$ (z przeniesienia) $= 10_2$. Zapisujemy $0$, przenosimy $1$ do kolumny Bit 7. 8. **Bit 7 (skrajnie lewy):** $0 + 0 + 1$ (z przeniesienia) $= 1$. Brak przeniesienia poza zakres $8$ bitów. Wynik to $10001111_2$, co w systemie dziesiętnym odpowiada liczbie $143$. Sprawdzenie: $86 + 57 = 143$. Did you know, że technika dodawania bit po bicie z przeniesieniem była używana w mechanicznych kalkulatorach na długo przed wynalezieniem komputerów elektronicznych? ### Przepełnienie (Overflow) > Przepełnienie: Sytuacja, w której wynik operacji arytmetycznej przekracza maksymalną wartość, jaką można przedstawić w dostępnej liczbie bitów. Przepełnienie (ang. *overflow*) występuje, gdy wynik operacji arytmetycznej przekracza maksymalną wartość, jaką można przedstawić w dostępnej liczbie bitów. Dla liczb $8$-bitowych bez znaku (ang. *unsigned*), zakres wynosi od $0$ do $2^8 - 1$, czyli od $0$ do $255$. Jeśli wynik dodawania przekroczy $255$, nastąpi przepełnienie. Komputery często sygnalizują przepełnienie za pomocą specjalnej flagi w procesorze, aby programista mógł odpowiednio zareagować. W przypadku liczb ze znakiem (ang. *signed*), gdzie jeden bit jest używany do reprezentacji znaku (zazwyczaj **najbardziej znaczący bit** - MSB, ang. *Most Significant Bit*), zakres dla $8$ bitów wynosi od $-128$ do $127$. Przepełnienie w liczbach ze znakiem jest bardziej złożone i może wystąpić, gdy: * Dodajemy dwie liczby dodatnie i otrzy