piątek, 28 lutego 2014

Stałopozycyjna reprezentacja liczb

Stałopozycyjna reprezentacja liczb

  • Reprezentacja stałopozycyjna charakteryzuje się stałym położeniem kropki dziesiętnej.
  • Na część całkowitą liczby oraz na część ułamkową przeznaczona jest stała, z góry określona liczba bitów.
  • Jeśli na część ułamkową przeznaczone jest 0 bitów to reprezentacja stałopozycyjna służy do przechowywania liczb całkowitych.
  • Jeśli liczba, którą chcemy przedstawić w tej reprezentacji, mieści się na ustalonej liczbie bitów, to może być reprezentowana dokładnie.
  • Jeśli wynik działań wykonywanych na liczbach stałopozycyjnych nie mieści się na ustalonej liczbie bitów, powstaje nadmiar w obliczeniach (wynik jest błędnie interpretowany przez komputer).
  • Mając do dyspozycji n bitów możemy w reprezentacji stałopozycyjnej przedstawić liczby całkowite z zakresu:
    -2n-1 .. 2n-1-1

    Przykład

     
  • n=8:    -27 .. 27-1, czyli -128 .. 127, odpowiada to typowi danych ShortInt (C++: char)
    n=16:   -215 .. 215-1, czyli -32788 .. 32787, odpowiada to typowi danych Integer (C++: short)
    n=32:   -231 .. 231-1, czyli -2 147 483 648 .. 2 147 483 647, odpowiada to typowi danych LongInt (C++: int)
     
  • Deklaracja odpowiedniego typu zmiennych w programie określa dopuszczalny zakres danych.

Brak komentarzy:

Prześlij komentarz