В редких случаях также используется представление целых чисел в четырехбайтовых ячейках. В некоторых случаях для хранения целых чисел небольшого разряда используют упаковку в 64-разрядное слово. Такое случается при использовании мультимедийной информации.
В современной микропроцессорной технике используются все указанные форматы хранения целых чисел.
Компьютерное представление вещественныхчисел
Говоря о хранении вещественных чисел, следует особо рассмотреть вопрос точности их представления. При бытовых исчислениях обычно обходятся точностью до 2-3-го десятичного знака после запятой, практика научных и инженерных измерений использует 5—6 знаков. Однако нельзя исключать возможность использования очень длинной дробной части числа (допустим, числа {х} с высокой точностью) или бесконечной периодической дроби (например, результат деления 1/3).
Длина ячейки памяти конечна (кратна 8, разрядной длине байта), следовательно, имея в виду вышесказанное дробную часть нужно усекать до некоторой длины – для обеспечения оговоренной точности. В дальнейшем, при выполнении арифметических действий, неточности такого рода нарастают.
В компьютерах используется представление рациональных чисел с плавающей точкой.
Для представления двоичного числа с плавающей точкой требуется двабитовых поля разной длины для отдельного хранения мантиссы и порядка. Точность хранения числа определяется количеством разрядов, отведенных для хранения мантиссы.
В целях увеличения количества разрядов мантиссы (а значит количества значащих цифр) вещественные числа хранятся в нормализованном виде. Нормализованное число в старшем разряде мантиссы обязательно имеет цифру отличную от нуля:
0,0054321>10*10>3=0,54321>10*10>5 – нормализованное десятичное число
0,0100101>2*2>—2 = 0,100101>2*2>—1– нормализованное двоичное число
Как и в случае целых чисел, в программных системах могут использоваться несколько типов хранимых данных: Стандарты программного обеспечения требуют наличия 4-байтового и 8-байтового представления чисел, это числа одинарной и двойной точности.
Формат чисел одинарной точности использует старший бит как знаковый флаг, 8 разрядов для хранения порядка и 23 разряда для хранения мантиссы.
В представленной на рис.2.1. разрядной сетке числа -2,21*10>—5 старший разряд равен 1 (число отрицательное). Следующие восемь бит хранят характеристику – смещенный порядок, т.е. порядок числа, увеличенный на значение смещения. Значение смещения для четырехбайтового представления равно 127. Смещение порядка применяют для упрощения операций над числами с плавающей точкой. В рассматриваемом примере характеристика равна: 127+ (-5) =122>10= 1111010>2.
С девятого разряда размещается мантисса: 221>10= 11011101>2.
Громоздкая двоичная запись часто заменяется шестнадцатеричным представлением: BD6E10000.
Четырех байтовый формат хранения представляет числа в диапазоне 3,4*10>-38-3,4*10>38; точность этого формата составляет 7 знаков в десятичном представлении.
В случае если мантисса числа превышает имеющуюся у формата разрядность, младшие разряды округляются и отбрасываются: 123456789,987654321 → 123456800,0.
Числа двойной точности обычно не являются результатами измерений, но позволяют избежать накопления ошибок округления при вычислениях.
В двойном формате порядок занимает 11 разрядов, а мантисса – 52 разряда.
8 -ми байтовый формат представляет числа в диапазоне ±4,9*10>—324 – 4,9*10>324; формат двойной точности в десятичном представлении составляет 15 знаков, смещение порядка равно 1024.