Witam.
Czy mógłby mi ktoś wyjaśnić(najlepiej krok po kroku :/ ) jak stworzyć z czegoś takiego:
\(\displaystyle{ 1100,1011}\) w systemie dwójkowym mantysę znormalizowaną?
[Systemy Liczbowe] Format zmiennoprzecinkowy; mantysa
-
- Użytkownik
- Posty: 318
- Rejestracja: 14 maja 2016, o 16:25
- Płeć: Mężczyzna
- Lokalizacja: Toruń
- Pomógł: 90 razy
[Systemy Liczbowe] Format zmiennoprzecinkowy; mantysa
Zgodnie z definicją, mantysa znormalizowana liczby \(\displaystyle{ x}\) to taka liczba \(\displaystyle{ M}\), że
\(\displaystyle{ x=\pm M\cdot 2^E}\), gdzie \(\displaystyle{ E\in\ZZ}\).
Zatem \(\displaystyle{ M=|x|\cdot 2^{-E}}\). Aby znaleźć mantysę znormalizowaną można zrobić coś takiego:
1) Skorzystać z równości:
\(\displaystyle{ \log_2|x|=\log_2M + E}\) i stąd \(\displaystyle{ \{\log_2|x| \} = \log_2M}\) (\(\displaystyle{ \{a\}=a-\lfloor a\rfloor}\) to część ułamkowa \(\displaystyle{ a}\)) i ostatecznie
\(\displaystyle{ M=2^{\{\log_2|x| \}}}\).
2) Skorzystać z algorytmu:
Jeśli \(\displaystyle{ |x|\geq 2}\), dzielimy \(\displaystyle{ |x|}\) tak dużo razy przez \(\displaystyle{ 2}\), aż wynik będzie w przedziale \(\displaystyle{ [1,2)}\).
Jeśli \(\displaystyle{ |x|<1}\), mnożymy \(\displaystyle{ |x|}\) tak dużo razy przez \(\displaystyle{ 2}\), aż wynik będzie w przedziale \(\displaystyle{ [1,2)}\).
Wtedy ten końcowy wynik to właśnie poszukiwana wartość.
\(\displaystyle{ x=\pm M\cdot 2^E}\), gdzie \(\displaystyle{ E\in\ZZ}\).
Zatem \(\displaystyle{ M=|x|\cdot 2^{-E}}\). Aby znaleźć mantysę znormalizowaną można zrobić coś takiego:
1) Skorzystać z równości:
\(\displaystyle{ \log_2|x|=\log_2M + E}\) i stąd \(\displaystyle{ \{\log_2|x| \} = \log_2M}\) (\(\displaystyle{ \{a\}=a-\lfloor a\rfloor}\) to część ułamkowa \(\displaystyle{ a}\)) i ostatecznie
\(\displaystyle{ M=2^{\{\log_2|x| \}}}\).
2) Skorzystać z algorytmu:
Jeśli \(\displaystyle{ |x|\geq 2}\), dzielimy \(\displaystyle{ |x|}\) tak dużo razy przez \(\displaystyle{ 2}\), aż wynik będzie w przedziale \(\displaystyle{ [1,2)}\).
Jeśli \(\displaystyle{ |x|<1}\), mnożymy \(\displaystyle{ |x|}\) tak dużo razy przez \(\displaystyle{ 2}\), aż wynik będzie w przedziale \(\displaystyle{ [1,2)}\).
Wtedy ten końcowy wynik to właśnie poszukiwana wartość.