Systemy liczbowe 0.25 -> hex

0

Przedstaw w postaci dwójkowej liczbę dziesiętną 0.25. Następnie zapisz wynik szesnastkowo.
a. Jako liczbę stałoprzecinkową 16-bitową. Przyjmij, że przecinek jest na środku.
b. Jako 32-bitową liczbę zmiennoprzecinkową zgodną z IEEE754.

no 0.25 * 2 = 0.5 ->0
0.5 * 2 = 1 ---->1
czyli 0.25=0.01
ale nie potrafię dalej tego zapisać w hex i tym IEEE754.

0

0.25 * 16 = 4

0.25d = 0.4h

0

W zadaniu napisane jest "w postaci dwójkowej" - a nie hex.
a) 0.25 = 00000000.dddddddd

Reprezentacja dddddddd może być różna, można np. tak:
0.00000000 - 0.0
0.11111111 - 0.9999 (<1) ułamkowo = 255 całkowite
1.00000000 = 1.0 ułamkowo
dddddddd = a ułamkowo = n całkowite

a = n/256
n = a * 256

n = 0.25 * 256 = 64 całkowite = 01000000 bin

czyli 0.25 = 00000000.01000000

Przykłady z częścią całkowitą z reprezentacją 16-bitowową:

n = a * 256

czyli 
212,125     = 54304 całkowite          = 11010100.00100000 bin
63,125      = 16160 całkowite          = 00111111.00100000 bin
63,125 * 2  = 126,25 = 32320 całkowite = 01111110.01000000 bin

Co do (b) to trzeba przeczytać specyfikację...

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