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

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
teraz powinno być zrozumiałe dla architektów i nie tylko ;)
Filu (dyskusja | edycje)
m drbd, +de: +en: +es:
Linia 11:
 
* wartość maksymalna:
:<math>1111.,11_{2} = 2^{3} + 2^{2} + 2^{1} + 2^{0} + 2^{-1} + 2^{-2} = 15,75_{10}</math>
* wartość minimalna:
:<math>0000.,01_{2} = 2^{-2} = 0,25_{10}</math>
* przykładowa liczba:
:<math>1011.,10_{2} = 2^{3} + 2^{1} + 2^{0} + 2^{-1} = 11,5_{10}</math>
 
 
Linia 21:
* 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>.
* Dzielenie całkowitoliczbowe. W tym przypadku dzielną a należy przemnożyć przez czynnik <math>2^{n}</math> przed wykonaniem dzielenia i wówczas: <math>a 2a2^{2n} / b 2b2^{n} = (a/b )2^kn</math>.
 
(Mnożenie i dzielenie przez potęgę dwójki, w tym przypadku <math>2^{n}</math>, jest równoważne [[przesunięcie bitowe|przesunięciu bitowemu]] (odpowiednio) w lewo bądź prawo o <math>n</math> bitów; jest to operacja bardzo szybka).
 
[[Kategoria:Programowanie]]
 
[[de:Festkommaarithmetik]]
[[en:Fixed-point arithmetic]]
[[es:Coma fija]]