04 Stało i zmiennopozycyjna reprezentacja liczb binarnychid 4895 ppt

background image

Stało- i zmiennopozycyjna

reprezentacja liczb

binarnych

background image

Zapis stałoprzecinkowy

Aby umożliwić również zapis liczb ułamkowych,

musimy rozszerzyć wagi pozycji w stronę
ujemnych potęg podstawy. Część ułamkową
oddzielimy od części całkowitej zapisu za
pomocą znaku przecinka.

waga p

n-1

… p

2

p

1

p

0

, p

-1

p

-2

… p

-m

cyfry a

n-1

… a

2

a

1

a

0

, a

-1

a

-2

… a

-m

background image

Wbrew pozorom obliczenie wartości tak

zapisanej liczby wcale nie jest trudniejsze.
Zasada nie zmienia się i musimy sumować
kolejne iloczyny wartości cyfr przez wartości
wag pozycji. Obliczenia rozpoczynamy od
pierwszej pozycji po prawej stronie.

a

n-1

...a

2

a

1

a

0

, a

-1

a

-2

...a

-m

  =  a

-m

p

-m

+ ... + a

-2

p

-

2

+ a

-1

p

-1

+ a

0

p

0

+ a

1

p

1

+ a

2

p

2

+ ... + a

n-1

p

n-

1

W przypadku liczb binarnych p=2.

background image

Przykład

Obliczyć wartość liczby dwójkowej 11101,011

B

11101,011

B

= 1 * 2

-3

+ 1 * 2

-2

+ 0 * 2

-1

+ 1 * 2

0

+ 0 *

2

1

+ 1 * 2

2

+ 1 * 2

3

+ 1 * 2

4

11101,011

B

= 1 * 1/8 + 1 * 1/4 + 0 * 1/2 + 1 * 1 + 0 *

2 + 1 * 4 + 1 * 8 + 1 * 16

11101,011

B

  = 1/8 + 1/4 + 1 + 4 + 8 + 16

11101,011

B

= 29 3/8

background image

Zamiana ułamka dziesiętnego na wartość binarną
Metoda zamiany jest dwuetapowa.
Najpierw zamieniana jest część całkowita ułamka.

Wtedy stosuje się cykliczne dzielenie przez 2 i

sprawdzanie reszty z dzielenia.

Następnie zamienia się część ułamkową. Zamiana

polega na cyklicznym mnożeniu ułamka razy 2 i

sprawdzaniu, czy wynik nie jest większy lub równy 1.

Jeżeli jest >= 1 to wyznaczony bit części ułamkowej

jest także równy jeden. Do dalszych obliczeń bierze

się część ułamkową wyniku.

Czasem zamiana części ułamkowej na postać binarną

prowadzi do osiągnięcia nieskończenie długiej

kombinacji zer i jedynek. Dlatego zawsze należy

przyjąć dodatkowy warunek - ile bitów jest

przeznaczone na zapis części ułamkowej. Obliczenia

wykonuje się wtedy dotąd, aż osiągnie się potrzebną

liczbę bitów

background image

Przykład
Zamienić ułamek 12.7 na postać binarną 8-bitową,

gdzie przecinek jest po czterech bitach (4b,4b).

Etap 1
Część całkowita 12

D

to w postaci dwójkowej 1100

B

.

Etap 2
Obliczanie części ułamkowej wygląda następująco:
0.7 * 2 = 1.4 -> 1
0.4 * 2 = 0.8 -> 0
0.8 * 2 = 1.6 -> 1
0.6 * 2 = 1.2 -> 1
0.2 * 2 = ….. – tutaj przerywamy obliczenia
i stąd 12.7

D

= 1100,1011

B

background image

Zapis zmiennopozycyjny

Z zapisem zmiennoprzecinkowym można

spotkać się w przypadkach, gdzie przy jego
pomocy przedstawia się albo bardzo duże
wartości, albo bardzo małe. Zapis ten nazywa
się często notacją naukową, np.:

Gwiazda Proxima Centauri znajduje się w

odległości 9460800000000 [km], czyli
9,4608 * 10

12

.

Masa elektronu wynosi m

e

=

0,00000000000000000000000000091095
[g], czyli  9,1095 x 10

-28

[g]

background image

Liczba zapisana w systemie

zmiennoprzecinkowym składa się z dwóch
części: liczby stałoprzecinkowej, której
wartość bezwzględna jest mniejsza od
wartości podstawy systemu pozycyjnego oraz
z podstawy podniesionej do pewnej potęgi
zwanej wykładnikiem lub cechą. Wartość
liczby jest równa iloczynowi części
stałoprzecinkowej i wykładniczej:

w = m * p

e

,

m - mantysa, p - podstawa systemu, e -

wykładnik potęgowy.

background image

Obliczanie wartości dwójkowej liczby

zmiennoprzecinkowej

Przyjmijmy następujące ustalenia. Dwójkowa liczba

zmiennoprzecinkowa zbudowana jest z dwóch

części: z mantysy m i wykładnika  potęgowego e

(zwanego również cechą). Ponieważ podstawa

systemu liczenia jest znana i wynosi 2, więc nie

ma potrzeby umieszczać jej w zapisie liczby.

Mantysa m jest liczbą stałoprzecinkową na moduł

mniejszą od 1. Wykładnik e jest liczbą całkowitą.

Obie części mogą być zapisane np. w kodzie U2

lub kodzie ZM.

wykładnik

e

mantysa

m

n-bitów

m-bitów

 liczba

zmiennoprzecinkowa 

background image

Wartość liczby liczymy wg wzoru:

w = m * 2

e

Obliczenia
Niech wykładnik zbudowany będzie z n bitów.

Ponieważ jest to liczba całkowita, więc jej wartość
obliczamy w poznany wcześniej sposób:

n-2

e = a

n-1

a

n-2

a

n-3

...a

2

a

1

a

0

= a

n-1

(-2

n-1

) +

a

i

2

i

i=0

czyli zgodny z zapisem dla liczb w kodzie U2

background image

Mantysa ma być ułamkiem mniejszym na moduł od 1.

Jeśli jest zbudowana z m bitów, to waga najstarszego
bitu wynosi w kodzie U2 -2

0

, czyli -1. Następna pozycja

ma wagę 2

-1

, czyli 1/2, itd. Rozpiszmy to następująco:

m = a

n-1

, a

n-2

a

n-3

...a

2

c

1

a

0

= a

n-1

(-2

0

) + a

n-2

2

-1

+ a

n-3

2

-2

+

... + a

2

2

-n+3

+ a

1

2

-n+2

+ a

0

2

-n+1

Dla przykładowej, 4-bitowej mantysy wzór ten przyjmie

następującą postać:

m = a

3

, a

2

a

1

a

0

= a

3

(-2

0

) + a

2

2

-1

+ a

1

2

-2

+ a

0

2

-3

m = a

3

, a

2

a

1

a

0

= a

3

* -1 + a

2

* 1/2 + a

1

* 1/4 + a

0

*

1/8
m = a

3

, a

2

a

1

a

0

= - a

3

+ a

2

/ 2 + a

1

/ 4 + a

0

/ 8

background image

Przykład – liczba 8-bitowa, po 4 bity na mantysę i

wykładnik

00110111

ZP

= ...?

D

Najpierw wydobywamy z liczby wykładnik e i mantysę m:

0011 0111
e m

Teraz obliczamy kolejno wartość wykładnika i mantysy:

e = 0011

U2

= 0 * (-8) + 0 * 4 + 1 * 2 + 1 * 1

e = 0011

U2

=  2 + 1

e = 0011

U2

=  3

D

m = 0,111

U2

= - 0 + 1/2 + 1/4 + 1/8

m = 0,111

U2

= 1/2 + 1/4 + 1/8

m = 0,111

U2

= 4/8 + 2/8 + 1/8

m = 0,111

U2

= 7/8

Mając e i m, podstawiamy do wzoru i otrzymujemy

00110111

ZP

= 7

D

background image

Obliczanie reprezentacji zmiennoprzecinkowej
Mamy określony format zapisu liczby

zmiennoprzecinkowej w systemie dwójkowym.

Wiemy, że wykładnik ma zawierać n - bitów w

kodzie U2, a cecha m bitów w zapisie

stałoprzecinkowym U2.

Przykład prostego systemu zmiennoprzecinkowego, w

którym wykładnik i cecha mają po 4 bity długości.

Przykładową liczbą niech będzie wartość 56:

56

D

= 111000

B

= 0111000

U2

- dodajemy zero, aby

zaznaczyć, iż jest to liczba dodatnia.

Zapiszemy wzór obliczeniowy, a następnie będziemy

przesuwać w prawo cyfry mantysy dodając

jednocześnie 1 do wykładnika, aż znacząca jedynka

znajdzie się na pozycji o wadze 1/2.

background image

0111000,000

U2

=2

0000U2

011100,000

U2

=2

0001U2

- przesuwamy cyfry mantysy

w prawo, zwiększamy wykładnik

01110,000

U2

=2

0010U2

0111,000

U2

=2

0011U2

011,100

U2

=2

0100U2

01,110

U2

=2

0101U2

0,111

U2

=2

0110U2

- kończymy, mantysa jest

znormalizowana

Otrzymujemy więc:

e = 0110  = 6

D

m = 0,111 = 7/8, sprawdzamy: 7/8 x 2

6

= 448/8 =

56

background image

Dla liczby 9

D

9

D

= 1001

B

= 01001

U2

01001,000

U2

=2

0000U2

0100,100

U2

=2

0001U2

010,010

U2

=2

0010U2

01,001

U2

=2

0011U2

- ostatnia jedynka zaraz zniknie!!!

0,100

U2

=2

0100U2

- koniec

Otrzymaliśmy wynik:

e = 0100  = 4

D

m = 0,100 = 1/2, sprawdzamy: 1/2 * 2

4

= 16/2 = 8

9

D

=? 01000100

ZP


Document Outline


Wyszukiwarka

Podobne podstrony:
UTK, Stało i zmiennopozycyjna reprezentacja liczb ułamkowych, Stało i zmiennopozycyjna reprezentacja
10 Reprezentacja liczb w systemie komputerowymid 11082 ppt
02 Zapis liczb binarnych ze znakiemid 3494 ppt
10 Reprezentacja liczb w systemie komputerowymid 11082 ppt
04 Liczby ujemne i ułamki w systemie binarnym
Sysetemy szsnastkowy i inne, Systemy bianrny,dziesietny,szesnastkowy, Reprezentacje liczb
sprawdzian z reprezentacji liczb gr A
Arytmetyka liczb binarnych
09 Kody binarneid 7810 ppt
04 Klasyfikacja i właściwości metrologiczne narzędzi pomiarowychid 4883 ppt
lichtenstein,metody numeryczne L,Reprezentacje liczb, algorytm Hornera,?danie błędów numerycznych SP
02 System binarnyid 3489 ppt
Reprezentacje liczb
Reprezentacja liczb
Dzielenie liczb binarnych, Informatyka
układy logiczne, wyk9, Reprezentacje liczb
06 04 Przyjmowanie perspektywy innej osoby a komunikacjaid 6224 ppt
Zapis liczb binarnych ze znakiem, Informatyka

więcej podobnych podstron