Представление чисел в форме с фиксированной точкой

Формы представления чисел

В используемых представлениях чисел “запятая” или “десятичная точка” - это условный символ, предназначенный для разделения целой и дробной частей числа. Запятая имеет следовательно точный математический смысл, независимо от используемой системы счисления, и ее положение нисколько не меняет алгоритм вычислений или форму результата.

Если обрабатываемые числа имеют величину одного порядка, можно фиксировать позицию запятой или точки (такое представление называется представлением с фиксированной точкой). Тогда при обработке чисел в машине нет необходимости учитывать положение (представлять) десятичной точки. И тогда ее положение на уровне программы считается одинаковым и учитывается только в результате.

Существует в основном 2 способа фиксирования десятичной точки:

1) точка располагается справа от младшей цифры числа, и мы имеем целые числа;

2) точка располагается слева от старшей цифры числа, и мы имеем дробные числа по абсолютному значению меньше единицы.

При шестнадцатиразрядной сетке мы имеем:

знаковый разряд ¯

0½ 1½ 2½ 3½ 4½5½ 6½ 7 ½8 ½9 ½...½15

1-й байт 2-й байт

1 моделирует знак “-”, 0 моделирует знак “+”.

Диапазон представления чисел: 1½0000 ® -215 и 0½111...1® +215-1, т.е. от -32768 до +32767. В обоих случаях высока вероятность переполнения разрядной сетки машины.

Например, при сложении двух чисел +22 и +13 получим:

+ 0 ½ 10110 + 22

0 ½ 01101 +13

¾¾¾¾¾ ¾¾

1 ½ 00011 - 3

Переполнение, возникшее в знаковом разряде, приводит к отрицательному результату.