znak,cecha,mantysa - obliczenie wartosci dziesietnej

0

jak obliczyc wartosc dziesietna liczby ktora jest w systemie binarnym (1-3-4) (znak,cecha,mantysa)
np mam :
00111111
0-znak
011-cecha - 2^0+2^1 = 2^3 = 8
1111-mantysa = 2^0+2^1+2^2+2^3 = 15
nie rozumiem jak to rozgryźć - odpowiedz to 31/4 nie mam pojecia jak to wyszlo... Mogły ktos zerknac na to okiem i wytlumaczyc?

2

https://en.wikipedia.org/wiki/Single-precision_floating-point_format#IEEE_754_single-precision_binary_floating-point_format:_binary32
Masz oczywiscie inne liczby bitów na cechę i mantysę, ale idea przeliczania jest taka sama.

0

wciąż nie moge tego zrozumiec.. niby rozumiem ale nie wiem czy wynik jest ok .. Proszę o rozwianie moich watpliwosci
z = 0 - liczba dodatnia
c - 011 = 3
m - 11,11 = 15/4
no i mam wzor:
(-1)^z * m * 2^c = (-1)^0 * 15/4 * 2^3 = 30 - czy to jest wynik ?

0
dcielak napisał(a):

wciąż nie moge tego zrozumiec.. niby rozumiem ale nie wiem czy wynik jest ok .. Proszę o rozwianie moich watpliwosci
z = 0 - liczba dodatnia
c - 011 = 3
m - 11,11 = 15/4
no i mam wzor:
(-1)^z * m * 2^c = (-1)^0 * 15/4 * 2^3 = 30 - czy to jest wynik ?

Móglbyś uściślić o co chodzi? Jaki jest problem, co na wejściu i co na wyjściu?

0

Zamiana IEEE 754 na liczbę rzeczywistą
tylko ze przyjmuje : ze znak ma 1 bit , cecha ma 3 bity, mantysa ma 4 bity i np mam :
10010011
z: 1 - wartosc ujemna
c: 001 =>2^0 = 1,
m: 0011
i wzor to : (-1)^z m 2^c
Nie wiem co podstawić za m....

0

Mantysa zwykle jest znormalizowana [1,2]. Otwarłeś link który podałem wyżej? Masz tam pokazane jak się to oblicza. Dosłownie na konkretnym przykładzie.

0

noo... ale jesli ustalimy ze mamy system 3cech i 4 mantysy to inaczej sie to jakos podstawia...

1

Za mało danych.
Nie wiadomo jaki masz offset eksponenty.
Nie wiadomo czy twoja mantysa zawiera wiodącą 1 a jak nie, to czy i jak obsługujesz liczby zdenormalizowane.
Na dodatek mantysa zwykle reprezentuje wartość z zakresu <0.5, 1) lub <1, 2) (tak naprawdę zależy to od interpretacji, bo wystarczy zmienić offset eksponenty o 1),

Na wiki jest bardzo dobry artykuł https://pl.wikipedia.org/wiki/Liczba_zmiennoprzecinkowa

0

przyjmuje że mantysa
należy do przedziału [½;1]

0

No to
1111-mantysa = 2^(-1)+2^(-2)+2^(-3)+2^(-4)+2^(-5) = 31/32, z czego pierwsza liczba, 2^(-1) wynika z tego, że mantysa jest z przedziału 0.5 do 1.

0

według mojego skryptu z odpowiedziami wynik to : 15/32

0

Dziękuję, czy z 1 na poczatku jest tak samo ? np:
10010011
1-znak
001-cecha =>2^1= 2
0011-mantysa => 2^-1 + 2^-4 + 2^-5 = 19/32
19/32 * 2 = 19/16 ?

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