Liczby stałoprzecinkowe
Liczby stałoprzecinkowe umożliwiają zapis liczb w postaci ułamkowej, tak że pozycja pozycją przecinka jest ustalana w zależności od wymaganej dokładności.
W reprezentacji stałoprzecinkowej mamy najczęściej do czynienia z reprezentacją w zapisie uzupełnionym (np. U2), przy czym część najmłodszych bitów jest przeznaczona na cześć ułamkową.
Etapy zamiany liczby dziesiętnej na postać binarną:
Zamiana liczby całkowitej na postać binarną,
Zamiana części ułamkowej na postać binarną za pomocą cyklicznego mnożenia przez 2. Jeżeli wynik jest>=1, to wyznaczony bit części ułamkowej jest także równy 1.
Przykład:
Zamian liczby 6,125(10)
Wyznaczamy cześć całkowitą 6(10)=0110(2)
Wyznaczamy cyfry części ułamkowej 0,125(10)
0,125*2=0,25 cz. Całkowita 0
0,25*2=0,5 0 kierunek odczytywania
0,5*2=1,0 1
0*2=0 0
6,125(10)=0110,0010
03121100, 0-10-21-30-4=6+1/8=6,125
Liczby zmiennoprzecinkowe:
Zapis dużych liczb (lub bardzo małych) w normalnej notacji pozycyjnej jest niewygodny, gdyż wymaga sporej ilości cyfr. Dlatego liczby takie zapisuje się w sposób następujący:
3,25 × 1033
Zapis składa się z trzech liczb:
m - mantysy, u nas równej 3,25
p - podstawy systemu, u nas równej 10
c - cechy, u nas równej 33
Wartość liczby zmiennoprzecinkowej obliczamy zgodnie ze wzorem:
L = m × pc
Przykład:
Obliczyć wartość zmiennoprzecinkowej liczby trójkowej 2,21 × 1021(3).
Najpierw obliczamy wartości poszczególnych składników liczby zmiennoprzecinkowej pamiętając, iż każdy z nich jest zapisany w systemie trójkowym:
m = 2,21(3) = 2 × 30 + 2 × 3-1 + 1 × 3-2 = 2 × 1 + 2 × 1/3 + 1 × 1/9 = 2 + 2/3 + 1/9 = 2 7/9
p = 10(3) = 1 × 31 + 0 × 30 = 3
c = 21(3) = 2 × 31 + 1 × 30 = 2 × 3 + 1 × 1 = 6 + 1 = 7
Teraz wykorzystujemy podany wzór do wyznaczenia wartości dziesiętnej tej liczby:
L = m × pc = 2 7/9 × 37 = 25/9 × 37 = 25 × 35 = 25 × 243 = 6075
m A ,CB(16)=A*160+C*16-1+B*16-2
Mantysa należy do przedziału [1, B) czyli spełnia nierówność B>M>=1
Przykład:
Zamiana liczby 345,92(10) Mantysa o długości 3 bity.
-zadany jest przedział [1, 10),
-mantysa nie należy do przedziału; należy przesuwać przecinek i zwiększać wykładnik.
3,4592 *102(10)