Представление чисел в форме с фиксированной точкой
Формы представления чисел
В используемых представлениях чисел “запятая” или “десятичная точка” - это условный символ, предназначенный для разделения целой и дробной частей числа. Запятая имеет следовательно точный математический смысл, независимо от используемой системы счисления, и ее положение нисколько не меняет алгоритм вычислений или форму результата.
Если обрабатываемые числа имеют величину одного порядка, можно фиксировать позицию запятой или точки (такое представление называется представлением с фиксированной точкой). Тогда при обработке чисел в машине нет необходимости учитывать положение (представлять) десятичной точки. И тогда ее положение на уровне программы считается одинаковым и учитывается только в результате.
Существует в основном 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
Переполнение, возникшее в знаковом разряде, приводит к отрицательному результату.