Dzialania na liczbach zmiennoprzecinkowych - jak?

2016-02-19 20:04

Rejestracja: 15 lat temu

Ostatnio: 3 lata temu

0

Mam takie zadanie i nie wiem jak je zrobić do końca.

"W pewnej jednostce arytmetyczno-logicznej liczby rzeczywiste są przetwarzane z zastosowaniem zmiennoprzecinkowego zapisu binarnego w rejestrach 10 bitowych z przeznaczeniem po 5 bitów na ceche (ze znakiem) i mantysę (ze znakiem). wykonaj na jednostce następujące działanie.

z=((x-y)-x)/y

x=-1,625 i y=-0,4

wiec jak takie zadanie robić ?

najpierw należy przekształcić te liczby na zapis zmiennoprzecinkowy.

czyli x= -1,625 = [1]0001,101 = po renormalizacji mamy = 1,101 (0001,101* 2^0) nie przesuwamy przecinka)
czyli cecha w tym wypadku jest = 7-0 = 7

czyli zapis w/w systemie wygląda tak: [1]0111|10100

z tym -0,4 mam inny problem bo zapisując w binarny sposób ułamek mamy powtarzający się ciąg 0110011001100110..... czyli [0110] się powtarza ponieważ mamy tylko 5 bitów na mantysę to zapisuje 5 bitów tylko obcinając resztę

czyli y = -0,4 = [1]0000,01100 = po renormalizacji mamy = 1,10000 (0000,01100 *2^-2) przesuwamy przecinek w lewo o dwie pozycje.

i teraz pytanie czy jak robię renormalizacje to na końcu dodaje zera czy może jednak dodać następne powtarzające się bity ? (zakładam ze wstawiamy zera bo maszyna zaokrągliła).

czyli y = tutaj mamy cechę max 7 wiec =7-2 = 5
czyli wygląda to tak [1]0101|10000

no i ok a jak teraz dodawać lub odejmować takie liczby?
trzeba chyba sprowadzić dwie liczby do takiej samej wartości cechy, czy tak ?
jak mam to w końcu zrobić ?

edytowany 3x, ostatnio: Ultimion, 2016-02-19 20:06

Pozostało 580 znaków

2016-02-19 22:18

Rejestracja: 8 lat temu

Ostatnio: 1 rok temu

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0