Kod stałopozycyjny: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
kat.
m lit.
Linia 31:
Zapis stałoprzecinkowy ma tę zaletę, że arytmetyka stałoprzecinkowa może zostać zrealizowana za pomocą działań całkowitoliczbowych. Dzięki temu działania na ułamkach są do realizowania tam, gdzie nie ma możliwości użycia [[liczba zmiennoprzecinkowa|liczb zmiennoprzecinkowych]]: na procesorach bez [[FPU|jednostki zmienoprzecinkowej]], na prostych [[mikrokomputer]]ach lub w programach używających rozkazów [[MMX]]. Zapis stałoprzecinkowy był także powszechnie stosowany gdy jednostka zmiennoprzecinkowa procesora była nie dość wydajna, a jednocześnie nie była potrzebna wysoka dokładność obliczeń, np. w szybkich procedurach graficznych.
 
Jeśli policzyćobliczyć wartość liczby stałoprzecinkowej <math>x</math> w [[naturalny kod binarny|naturalnym kodzie dwójkowym]], wartość ta wyniesie <math>x 2^{n}</math>. Wówczas działania całkowitoliczbowe mają postać:
* Dodawanie/odejmowanie: <math>a 2^{n} \pm b 2^{n} = (a \pm b) 2^{n}</math> - wynik nie wymaga korekty, jest to zapis stałoprzecinkowy z założoną dokładnością.
* Mnożenie: <math>a 2^{n} b 2^{n} = ab 2^{2n}</math> - wynik wymaga korekty, należy podzielić go przez <math>2^{n}</math>, aby uzyskać postać <math>x 2^{n}</math>.