Prezentacja 2

Transkrypt

Prezentacja 2
Arytmetyka komputera
Na podstawie podręcznika „Urządzenia techniki
komputerowej”
Tomasza Marciniuka
Opracował: Kamil Kowalski – klasa III TI
Spis treści
1. Jednostki informacyjne
2. Systemy liczbowe
2.1. System dwójkowy (binarny)
2.2. System ósemkowy (oktalny)
2.3. System dziesiętny (decymalny)
2.4. System szesnastkowy (heksadecymalny)
3. Operacje arytmetyczne na liczbach binarnych
3.1. Dodawanie binarne
3.2. Odejmowanie binarne
3.3. Mnożenie binarne
3.4. Dzielenie binarne
4. Zapis liczby binarnej ze znakiem
4.1. Znak moduł – ZM
4.2. Znak uzupełnienie do 1 – ZU1 (U1)
4.3. Znak uzupełnienie do 2 – ZU2 (U2)
Jednostki informacyjne
Bit (w ang. kawałek, skrót od binary digit, czyli cyfra dwójkowa)
– najmniejsza ilość informacji potrzebna do określenia, który
z dwóch równie prawdopodobnych stanów przyjął układ.
Jednostka logiczna.
Jest to również najmniejsza jednostka informacji używana
w odniesieniu do sprzętu komputerowego a oznaczana jest za
pomocą „b”. Przeważnie stosuje się podstawowe przedrostki
wielokrotności SI, czyli o mnożniku 1000.
Bit przyjmuje jedną z dwóch wartości, które zwykle określa się
jako 0 (zero) i 1 (jeden)
Ponieważ ilość informacji przetwarzanych przez współczesne
komputery jest coraz większa, stosuje się wielokrotności bitu i bajtu:
8 bit (8 b)= 1 Bajt (B)
1 kilobit (1 kb)= 1 024 bity (1 024 b)
1 kilobit na sekundę (1 kb/s)= 1 000 bitów na sekundę (1 000 b/s)
1 kilobajt (1 kB)= 1 024 bajty (1024 B)
1 megabajt (1MB)=1 024 kB= 1 048 576 B
1 gigabajt (1GB)= 1 024 MB= 1 048 576 kB= 1 073 741 824 B
Systemy liczbowe
System liczbowy to inaczej zbiór reguł jednolitego zapisu i
nazewnictwa liczb. Do zapisywania liczb zawsze używa się
pewnego skończonego zbioru znaków, zwanych cyframi,
które można zestawić ze sobą na różne sposoby,
otrzymując nieskończenie wiele kombinacji.
Wyróżnia się następujące systemy liczbowe:
•Dwójkowy
•Ósemkowy
•Dziesiętny
•Szesnastkowy
System binarny
System liczbowy dwójkowy- binarny- jest pozycyjnym
systemem liczbowym, w którym podstawą jest liczba 2.
Do zapisu liczb są więc potrzebne tylko dwie cyfry: 0 i 1.
Liczby zapisuje się tu jako ciągi cyfr 0 i 1, z których
każda jest mnożnikiem kolejnej potęgi podstawy
systemu, czyli liczby 2. Używa się go powszechnie
w elektronice cyfrowej, gdzie minimalizacja liczby
stanów pozwala na zminimalizowanie przekłamań
danych. Stąd system ten przyjął się także
w informatyce.
Sposoby zapisywania liczb w systemie binarnym
Zapisując liczbę w systemie binarnym należy
zaznaczyć że jest to konkretny system przez
dodanie dolnego indeksu np.: 11111(2) lub
11111(B) . Jeśli jest to inny system opisuje się go
odpowiednio umownymi znakami w ten sam
sposób, co pozwala uniknąć ewentualnego
błędu, gdyż na przykład liczba 11110 może
występować w każdym systemie.
Zamiana liczby binarnej na dziesiętną:
Sposób pierwszy polega na wybraniu odpowiednich
liczb- wartości potęg liczby 2.
Należy wybrać liczby w taki sposób, aby ich suma
była równa wartości liczby przekształcanej.
Sumowanie zaczynamy od liczby, która ma wartość
najbardziej zbliżoną do wartości przekształcanej
liczby. Jeżeli wybieramy daną wartość potęgi liczby
2, to stawiamy pod nią cyfrę 1 lub 0 w zależności
czy kolejna potęga zmieści się w przekształcanej
liczbie (1) czy nie (0).
Zamiana liczby binarnej na dziesiętną:
Drugi sposób polega na kolejnym dzieleniu
liczby przez 2. Jeżeli
po dzieleniu
zostaje reszta,
to wpisujemy
po prawej stronie
1, leżeli liczba dzieli się bez reszty wpisujemy 0.
Zamiana liczby binarnej na dziesiętną
Należy wszystkie cyfry po kolei z każdej pozycji
dodać pomnożone przez kolejną potęgę liczby 2.
Zaczynając od ostatniej cyfry.
System ósemkowy- oktalny
Ósemkowy-oktalny- system liczbowy jest
pozycyjnym systemem liczbowym o podstawie
8. Do zapisu używa się w nim ośmiu cyfr, od 0 do
7.
Zamiana liczby binarnej na oktalną
Liczbę należy podzielić po 3 bity, zaczynając od
prawej strony. Następnie należy zamienić każde
otrzymane trzy cyfry systemu binarnego na
odpowiadającą im jedną cyfrę systemu
oktalnego.
Przykład :
101 100 110 010(B)
5 4 6 2 = 5462(O)
Zamiana liczby decymalnej na oktalną
Przeliczając system decymalny na oktalny
wykonujemy takie same czynności jak podczas
przeliczania na system binarny, z taką różnicą, że
dzielimy liczbę decymalną przez 8.
Zamiana liczby oktalnej na decymalną
Przeliczając system oktalny na decymalny należy
wszystkie cyfry po kolei z każdej pozycji dodać
pomnożone przez kolejną potęgę liczby 8.
Zaczynając od ostatniej cyfry.
System dziesiętny-decymalny
System dziesiętny- decymalny- jest systemem
liczbowym pozycyjnym, w którym podstawą
pozycji są kolejne potęgi liczby 10. Do zapisu jest
potrzebne więc 10 cyfr od 0 do 9.
System szesnastkowyheksadecymalny
System szesnastkowy- heksadecymalny- jest
pozycyjnym systemem liczbowym, w którym
podstawą pozycji SA kolejne potęgi liczby 16. Do
zapisu liczb potrzebne jest 16 kolejnych znaków od
0 do 9, natomiast od 10 do 15 liczby oznaczane są
kolejnymi liczbami alfabetu: A=10, B=11, C=12,
D=13, E=14, F=15. System ten jest powszechnie
stosowany w informatyce. Jak w każdym
pozycyjnym systemie liczbowym, liczby zapisuje się
jako ciąg cyfr, z których każda jest mnożnikiem
kolejnej potęgi liczby 16. Część całkowitą
i ułamkową oddziela separator dziesiętny.
Zamiana liczby binarnej na
heksadecymalną
Przeliczając system binarny na heksadecymalny należy
podzielić liczbę po 4 bity, zaczynając od prawej.
Następnie należy Zamienic każde otrzymane cztery
cyfry systemu binarnego na odpowiadającą im jedną
cyfrę systemu heksadecymalnego.
Zamiana liczby decymalnej na
heksadecymalną
Przeliczając
system
decymalny
na
heksadecymalny, wykonujemy takie same
czynności jak podczas przeliczania na system
binarny i ósemkowy, ale dzielimy liczbę
decymalną przez 16.
Zamiana liczby heksadecymalnej na
decymalną
Przeliczając
system
heksadecymalny
na
decymalny należy wszystkie cyfry po kolei
z każdej pozycji dodać pomnożone przez kolejną
potęgę liczby 16. Zaczynając od ostatniej cyfry.
Operacje arytmetyczne na liczbach
binarnych: Dodawanie
Aby dobrze wykonać dodawanie
niezbędna jest znajomość
tabliczki dodawania,
zwłaszcza wyniki dodawania
każdej liczby z każdą.
W systemie binarnym są tylko dwie cyfry 0 i 1,
więc dodawanie jest bardzo proste i składa się
tylko z 4 kombinacji.
Operacje arytmetyczne na liczbach
binarnych: Odejmowanie
Przy odejmowaniu należy skorzystać z tabliczki
odejmowania, która wygląda tak:
Odejmując 0-1, otrzymując wynik 1 i pożyczkę
od następnej pozycji. Pożyczka oznacza
konieczność odjęcia 1 do wyniku odejmowania
cyfr w następnej kolumnie. Identycznie
postępujemy w systemie dziesiętnym, lecz jest
to o wiele bardziej skomplikowane. Załóżmy , że
od liczb większych odejmujemy mniejsze.
Operacje arytmetyczne na liczbach
binarnych: Mnożenie
Przy mnożeniu należy
skorzystać z tabeli mnożenia.
Tabliczka mnożenia
binarnego posłuży do
tworzenia
iloczynów cząstkowych cyfr mnożnej przez cyfry
mnożnika. Iloczyny te następnie dodajemy według
opisanych zasad i otrzymujemy wynik mnożenia.
Operacje arytmetyczne na
liczbach binarnych: Dzielenie
Dzielenie binarne jest najbardziej
skomplikowaną operacją arytmetyczną. Polega
na cyklicznym odejmowaniu odpowiednio
przesuniętego dzielnika od dzielnej.
Porównujemy dzielną z dzielnikiem. Jeżeli dzielna jest większa lub
równa dzielnikowi, to odejmujemy od niej dzielnik. Nad kreską na
pozycji ostatniej cyfry dzielnika należy napisać 1. Jeżeli dzielna jest
mniejsza od dzielnika, to nie należy wykonywać odejmowania, lecz
trzeba przesunąć dzielnik o 1 pozycję w prawo i powtórzyć opisane
operacje. Jeśli w ogóle dzielnika nie da się odjąć od dzielnej, to
wynik dzielenia wynosi 0, a dzielna ma w takim przypadku wartość
reszty z dzielenia. W tym przykładzie odejmowanie to jest możliwe
więc:
Dzielnik trzeba przesunąć o jeden bit w prawo
i wykorzystać to samo z otrzymaną różnicą. Jeśli
odejmowanie jest możliwe, to nad kreską w następnej
kolumnie trzeba dopisać 1, odjąć dzielnik od różnicy,
przesunąć go o 1 bit w prawo i kontynuować. Gdy
odejmowanie nie jest możliwe trzeba dopisać nad kreską
0 i przesunąć dzielnik o 1 bit w prawo. Te działania
należy kontynuować, aż ostatni bit dzielnika zrówna się
z ostatnim bitem dzielnej.
Zapis liczby binarnej ze znakiem
Zapis liczby binarnej ze znakiem wymaga co
najmniej jednego dodatkowego bitu (bitu
znaku).
Metody zapisu:
1. Znak moduł- ZM
2. Uzupełnienia znaku jedności- U1
3. Uzupełnienia dwójkowego- U2
Znak moduł- ZM
Liczba ZM składa się z dwóch części: bitów
znaków i wartości modułu. (n- ilość bitów w
zapisie liczby)
Dla liczb dodatnich i zera, bit znaku ma wartość 0
Dla liczb ujemnych i zera, bit znaku ma wartość 1
Moduł liczby, czyli ZM jest zapisany w naturalnym kodzie
dwójkowym. Zatem w celu obliczenia jej wartości moduł
mnożymy przez 1, gdy bit znaku wynosi 1.
2)
Obliczamy wartość absolutną liczby, czyli jej moduł (wartość bezwzględną).
3)
Wyznaczamy bity modułu (przeliczamy liczbę dziesiętną na system binarny).
4)
Otrzymane bity modułu uzupełniamy w miarę potrzeby bitami o wartości 0,
aby otrzymać ustaloną w formacie liczbę bitów dla modułu.
5)
Do bitu modułu dodajemy bit znaku i otrzymujemy zapis ZM.
Uzupełnienia znaku jedności U1
Sposób przeliczania liczby dziesiętnej na U1:
1)
Jeśli liczba jest dodatnia, znajdujemy jej
reprezentację w naturalnym kodzie binarnym i
uzupełniamy bitami w wartości 0 do uzyskania żądanej
liczby litów.
2)
Jeśli liczba jest ujemna obliczamy jej moduł.
Przedstawiamy go w naturalnym systemie binarnym,
uzupełniając go bitami o wartości 0, do długości
przyjętego formatu U1, następnie wszystkie bity
zamieniamy na przeciwne i otrzymujemy format zapisu
U1.
Uzupełnienia dwójkowego- U2.
Bit znakowy ma wartość
-2n-1 wagi stają się
teraz jednorazowe, bit znakowy posiada wagę
ujemną lecz wartości bezwzględne takiej samej jak
w naturalnym kodzie binarnym. Liczba jest
dodatnia, gdy bit znaku ma wartość 0, suma
pozostałych wag tworzy zawsze liczbę dodatnią lub
0. Jeżeli bit znaku przyjmuje wartość 1 to liczba jest
ujemna. Wartość liczby U2 obliczamy zgodnie
z wcześniej poznanymi zasadami- cyfry mnożymy
przez wagi pozycji, na których się znajdują
i dodajemy otrzymane iloczyny, waga bitu
znakowego jest ujemna.
Przeliczanie liczby dziesiętnej na U2:
1) Dla liczb dodatnich należy znaleźć
reprezentację trójkową danej wartości liczbowej
a następnie uzupełnić ją bitami o wartości 0 do
długości formatu kodu U2
2) Dla liczb ujemnych, jeśli do liczby 2n dodamy
przetwarzaną liczbę dziesiętną, to w wyniku
otrzymamy
wartość
kodu
binarnego,
równoważnego bitowo kodowi U2 przetwarzanej
liczby. Wynik dodawania wystarczy zapisać
w postaci naturalnego kodu binarnego.