background image

Liczby w Komputerze

Zajęcia 3

background image

Liczby naturalne – postać binarna liczby

Każdą liczbę naturalną x

 

z przedziału 

[0,2

n

-1]

 zapisaną w systemie dziesiętnym możemy 

zapisać na 

n-bitach

 w systemie dwójkowym.

Dla przykładu, każdą liczbę naturalną 

x

 z przedziału 

[0,2

8

-1]=[0,255]

 zapisaną w 

systemie dziesiętnym możemy zapisać na 

8-bitach

 w systemie dwójkowym.

Np.

    

0

10  

= 0000 0000

2

   

17

10  

= 0001 0001

2

123

10  

= 0111 1011

2

255

10

  = 1111 1111

2

Zadanie 1

Ile potrzeba najmniej bitów do zapisania liczby 1232

10

?

Zadanie2

Jaką największą liczbę dziesiętną możemy zapisać używając 16 bitów?

Zadanie 3

11001100

2

 = …

10

?

background image

Arytmetyka binarna

background image

Liczby całkowite – system Znak-Moduł (ZM)

Liczbę całkowitą x zapisaną w systemie 

Znak-Moduł 

interpretujemy następująco:

1. Najstarszy bit (liczony od lewej) przeznaczamy na znak liczby, przy czym, jeśli jest to 

0

to mamy do czynienia z liczbą 

dodatnią

, a jeśli 

1

, to z liczbą 

ujemną

.

2. Pozostałe bity przeznaczamy na moduł (wartość bezwzględną) liczby.

Wówczas na 

n-bitach

 możemy zapisać 

2

n

-1

liczb z przedziału 

[-2

n-1

+1,2

n-1

-1]

.

A zatem na 

8-bitach

 możemy zapisać każdą liczbę całkowitą z przedziału 

[-2

8-1

+1,2

8-1

-1]=[-127,127]

.

Np.

1

0001001

ZM 

 

-

 (0*2

6

+0*2

5

+0*2

4

+1*2

3

+0*2

2

+0*2

1

+1*2

0

)

10

 = 

9

10

Z

      M

0

1001001

ZM 

=

 

+

 (1*2

6

+0*2

5

+0*2

4

+1*2

3

+0*2

2

+0*2

1

+1*2

0

)

10

 =

 

73

10

Z

      

M

Zadanie 1

Stosując dwójkową reprezentację Znak-Moduł, zapisać dziesiętne liczby całkowite na 8-
bitach lub jeśli to konieczne ich wielokrotności: +20

10

, -20

10

, -128

10

, -372

10

, 244

10

.

Zadanie 2

Rozkoduj liczby: 10111000

ZM

, 10101010

ZM

, 01110011

ZM

.

background image

Liczby całkowite – System Uzupełnień do 2 (U2)

Liczbę całkowitą x zapisaną w systemie 

U2 

interpretujemy następująco:

1. Najstarszy bit (czyli od lewej) ma wagę 

-2

n-1

. Wówczas łatwo zauważyć, że jeśli wynosi 

on 

0

, to mamy do czynienia z liczbą 

dodatnią

, a jeśli 

1

, to z liczbą 

ujemną

.

2. Pozostałe bity przeznaczamy na moduł (wartość bezwzględną) liczby.

Wówczas na 

n-bitach

 możemy zapisać 

2

liczb z przedziału 

[-2

n-1

,2

n-1

-1]

.

A zatem na 

8-bitach

 możemy zapisać każdą liczbę całkowitą z przedziału 

[-2

8-1

,2

8-1

-1]=[-128,127]

.

Np.

1

1001001

U2

 =  

1*(-2

7

)

+1*2

6

+0*2

5

+0*2

4

+1*2

3

+0*2

2

+0*2

1

+1*2

0

10

 = -55

10

0

1001001

U2

 =

 

 0*(-2

7

)

+1*2

6

+0*2

5

+0*2

4

+1*2

3

+0*2

2

+0*2

1

+1*2

0

10

 =

 

+73

10

Sposób na zamianę liczby z systemu dziesiętnego na U2:

1. Jeśli liczba 

x

 jest dodatnia, to zamień ją na postać ZM i koniec.

2. Jeśli liczba 

x

 jest ujemna, to weź jej wartość bezwzględną i zamień ją na postać ZM. 

Następnie zbuduj liczbę według schematu: przepisuj od prawej wszystkie zera i pierwszą 
napotkaną jedynkę. Następnie przepisuj kolejne cyfry zamieniając każdą na przeciwną, tj. 
jedynkę na zero, a zero na jedynkę. Jeśli liczba przekracza długością zadaną liczbę bitów 
na których powinna się zmieścić, to wykreśl najstarszy bit (czyli od lewej).
3. Otrzymana liczba, to szukana postać w systemie U2 liczby

 x

.

Zadanie 1

Stosując dwójkową reprezentację U2, zapisać dziesiętne liczby całkowite na 8-bitach lub 
jeśli to konieczne ich wielokrotności: +20

10

, -20

10

, -128

10

, -372

10

, 244

10

.

Zadanie 2

Rozkoduj liczby: 10111000

U2

, 10101010

U2

, 01110011

U2

.

background image

Liczby rzeczywista – Postać Stałoprzecinkowa 

(PS)

Liczba rzeczywista x

 

w systemie stałopozycyjnym ma postać:

x = 

Znak

 

CzęśćCałkowita

 , 

CzęśćUłamkowa

Np.

         +          

123                  

,         

125

I po zamianie binarnej:

         

+

      

1111011              

,          

001

Zadanie 1

Podane liczby dziesiętne zapisać w systemie stałoprzecinkowym w formacie: 0-4 bity na 
część ułamkową, 5-14 bity na część całkowitą, 15 bit na znak: +0,03125, 13,75, -0,875, 
-19,25.

Zadanie 2

Rozkoduj liczby zapisane w systemie stałoprzecinkowym w formacie: 0-4 bity na część 
ułamkową, 5-14 bity na część całkowitą, 15 bit na znak: 0000010110011000, 
1001000101101100, 0000000101101001.

background image

Liczby rzeczywiste – Postać 

Zmiennoprzecinkowa (PZ)

Liczba rzeczywista x

 

w systemie zmiennopozycyjnym ma postać:

x = 

Znak

 

Wykładnik

Mantysa

a dokładniej:

x=

Z

*

M

*P

W

gdzie P - to podstawa systemu w którym jest zapis liczby.

Np.

Powiedzmy, że liczbę rzeczywistą x zapisujemy na 8 bitach, przy czym:

• 

1 bit

 na 

znak

• 

3 bity

 na 

wykładnik

• 

4 bity

 na 

mantysę

.

Weźmy liczbę x=-60,345433. Przesuwamy najpierw przecinek: x=-
6,0345433.
Mamy teraz:

x=

-

6034

10

-2

Zadanie

Zakoduj liczby: 

x=-123.34

 oraz 

x=34.675

 na 8 bitach z przydziałem na Mantysę i 

Wykładnik tak jak powyżej.

background image

Praca domowa

Dokończ wszystkie nierozwiązane zadania.


Document Outline