Systemy liczbowe

System liczbowy to sposób jednolitego zapisu i nazewnictwa liczb. Do zapisu liczb używa się skończonego zbioru cyfr.

Na co dzień używamy systemu dziesiętnego (mamy do dyspozycji 10 cyfr: 0,1,2,3,4,5,6,7,8,9) ale w informatyce najbardziej naturalnym jest system dwójkowy, ponieważ dane są zapisywane na bitach, gdzie są tylko 2 możliwości wpisania cyfry: 0 lub 1. Oba te systemy są pozycyjne.

System pozycyjny to taki system, gdzie kolejne rzędy tworzymy przez podniesienie podstawy systemu do odpowiedniej potęgi. Np. rząd jedności w systemie 10 to 10^0, dziesiątki to 10^1 itd. Tak samo jest w każdym systemie liczbowym, więc liczba 5123 w systemie 10 to inaczej 5*10^3+1*10^2+2*10^1+3*10^0.

Konwersja z systemu 10 na 2 na przykładzie liczby 1001

  1. Znajdujemy największą potęgę dwójki, która mieści się w liczbie w systemie dziesiętnym. W naszym przypadku to jest 2^9, bo 2^9=512, a w 2^10=1024. Wpisujemy 1.

  2. Teraz od naszej liczby odejmujemy tą potęgę którą znaleźliśmy, w naszym przypadku jest to 2^9=512. Uzyskujemy 1001-512=489.

  3. Kolejną potęgą mniejszą jest 2^8. Sprawdzamy czy w naszej już zmniejszonej liczbie zmieści się. W naszym przypadku tak, bo 2^8=256, więc możemy wpisać do naszej nowej liczby kolejną 1, ale po prawej stronie i otrzymujemy 11

  4. Powtarzamy teraz 3 krok, uzyskujemy 233.

  5. Powtarzamy teraz 4 krok. 2^7=128, czyli mieści się w naszej kolejny raz zmniejszonej liczbie, więc możemy wpisać kolejną 1 i już mamy 111

  6. Powtarzamy krok 3, uzyskujemy 105.

  7. Powtarzamy krok 4, 2^6=64, czyli mieści się, do naszej nowej liczby wpisujemy kolejną jedynkę i już mamy 1111.

  8. Powtarzamy krok 3, mamy 41.

  9. Powtarzamy krok 4, 2^5=32, mieści się w naszej liczbie, wpisujemy kolejną 1, ale pamiętamy, że kolejne cyfry dopisujemy przed tymi, które już są, czyli mamy 11111

  10. Powtarzamy krok 3, mamy 9.

  11. Powtarzamy krok 4, 2^4=16, i nie mieści się w naszej liczbie czyli wpisujemy 0, zamiast 1, więc uzyskujemy 111110

  12. Powtarzamy krok 4, 2^3=8, mieści się w liczbie, czyli wpisujemy 1 i mamy 1111101

  13. Powtarzamy krok 3, mamy 1.

  14. Powtarzamy krok 4, 2^2=4, nie mieści się więc wpisujemy 0, nasza liczba to 11111010

  15. Powtarzamy krok 4, 2^1=2, nie mieści się więc wpisujemy 0, nasza liczba to 111110100

  16. Powtarzamy krok 4, 2^0=1, mieści się więc wpisujemy 1 i nasza liczba końcowa to : 1111101001

To samo można zapisać w bardzo przejrzystej tabelce:

2^9 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
512 256 128 64 32 16 8 4 2 1
1 1 1 1 1 0 1 0 0 1

Jeśli dodamy wszystkie liczby tam, gdzie jest 1, to wyjdzie nasza liczba w systemie dziesiętnym: 1001.

Aby przeliczyć liczby z systemu dziesiętnego na inny niż dwójkowy, to postępujemy analogicznie, tylko że w innych systemach już mamy większą liczbę cyfr do dyspozycji, kolejne rzędy to potęgi podstawy naszego systemu.

Przykład:
55(10)=2001(3), bo 2*33+1*30=55

Łatwo można przeliczać liczby z systemów dwójkowy, czwórkowy, ósemkowy i szesnastkowy miedzy sobą pomijając system dziesiętny.

Z dwójkowego na czwórkowy

Przykład:

01101101110010(2)=1231302(4)

Sys.2 01 10 11 01 11 00 10
Sys.4 1 2 3 1 3 0 2

Z czwórkowego na ósemkowy

Przykład:

12303201112(4)=6634126(8)

Sys.4 1 2 3 0 3 2 0 1 1 1 2
Sys.2 01 10 11 00 11 10 00 01 01 01 10
Sys.2 0 110 110 011 100 001 010 110
Sys.8 0 6 6 3 4 1 2 6


Długość zapisanych liczb

  1. Największa liczba zapisana na n bitach to : 2n-1, czyli na:

    1. 4 bitach->15

    2. 3 bitach->7

    3. 2 bitach->3

  2. Liczba bitów, która jest potrzebna do zapisania danej liczby naturalnej a to: log2(a+1):

    1. 15-> 4

    2. 31-> 5

    3. 127->7

Liczby ujemne w systemie dwójkowym

  1. Z bitem znaku

Zapisujemy liczbę w systemie dwójkowym i przed liczbę wpisujemy znak bitu

0 -> liczba dodatnia
1 -> liczba ujemna

Czyli liczba 5 to 00101, a -5 to 10101.

Wadą tej metody jest to, że suma dwóch liczb przeciwnych nie daje 0.

00101
+10101
11010, a to jest 26.

  1. Kod uzupełnieniowy (U2)

Dla dowolnej liczby a>0 liczba w U2=a,

Dla dowolnej liczby a<0 liczba w U2=a+2n, gdzie n to liczba bitów.

Tak więc dla a=6 i dla n=4 wygląda tak:

6 -> w U2=6=0110(2)

-6 -> w U2=-6 + 24=6+16=10=1010(2)

Algorytm na zapis liczby ujemnej w U2:

  1. Zapisujemy liczbę dodatnią w systemie 2: 6 -> 0110

  2. Negujemy wszystkie bity, zamiana 1 na 0 i na odwrót: 0110 -> 1001

  3. Dodajemy 1: 1001 +1 -> 1010

  4. Nasza końcowa liczba to : 1010

0110

+ 1010

10000 -> na 4 bitach mamy zapisane 0

Liczby rzeczywiste w systemie dwójkowym

  1. Zapis stałoprzecinkowy jest ustalone ile bitów przeznaczamy na część całkowitą i ułamkową, nie piszemy kropki.

Przykład: 22,625(10)=10110 1100(2)gdzie 5 bitów to cz. całkowita i 4 cz. ułamkowa

2^4 2^3 2^2 2^1 2^0 2^-1 2^-2 2^-3 2^-4
16 8 4 2 1
$$\frac{1}{2}$$

$$\frac{1}{4}$$

$$\frac{1}{8}$$

$$\frac{1}{16}$$
1 0 1 1 0 1 1 0 0
  1. Zapis zmiennoprzecinkowy stosujemy przy bardzo małych albo bardzo dużych liczbach. Symbolicznie ten zapis można przedstawić tak(w systemie dziesiętnym): m*10C, gdzie:

m to mantysa, 0,1<=|m|<1,
c to cecha, liczba całkowita.

W systemie dwójkowym zamiast 10, będzie 2, mantysa będzie ograniczona przez 0,5 i 1. Wszystkie liczby mantysa jak i cecha będzie zapisana w systemie dwójkowym o stałej liczbie znaków.

Przykład:

0,01 * 2101= 0,25*25=0,25*16=4


Wyszukiwarka

Podobne podstrony:
prezentacja rzymski system liczbowy
systemy liczbowe, informatyka
systemy liczbowe
Systemy Liczbowe, systemy liczbowe1, SYSTEM BINARNY
Pozycyjne systemy liczbowe
prezentacje zaawans, systemy liczbowe LO
Sprawozdanie Automatyka systemy liczbowe, SGGW Technika Rolnicza i Leśna, Automatyka
Szesnastkowy system liczbowy
17-09-2005 Wstęp do informatyki Systemy Liczbowe, Systemy Liczbowe
systemy liczbowe 4
Tabela (Systemy Liczbowe)
Dwójkowy system liczbowy
Ósemkowy system liczbowy, NAUKA, algorytmy i struktury danych, WAT
Pozycyjne systemy liczbowe
Dziesiętny system liczbowy, NAUKA, algorytmy i struktury danych, WAT
systemy liczbowe 4

więcej podobnych podstron