Представление данных в ЭВМ
Вся информация в ЭВМ хранится в виде наборов бит, то есть комбинаций 0 и 1. Числа представляются двоичными комбинациями в соответствии с числовыми форматами, принятыми для работы в данной ЭВМ, а символьный код устанавливает соответствие букв и других символов двоичным комбинациям.
Для чисел имеется три числовых формата:
- двоичный с фиксированной точкой;
- двоичный с плавающей запятой;
- двоично-кодированный десятичный (BCD).
В двоичном формате с фиксированной точкой числа могут быть представлены без знака (коды) или со знаком. Для представления чисел со знаком в современных ЭВМ в основном применяется дополнительный код. Это приводит к тому, что, как показано ранее, отрицательных чисел при заданной длине разрядной сетки можно представить на одно больше, чем положительных. Хотя операции в ЭВМ осуществляются над двоичными числами, для записи их в языках программирования, в документации и отображения на экране дисплея часто используют более удобное восьмеричное, шестнадцатеричное и десятичное представление.
В двоично-кодированном десятичном формате каждая десятичная цифра представляется в виде 4 битного двоичного эквивалента. Существуют две основные разновидности этого формата: упакованный и неупакованный. В упакованном BCD-формате цепочка десятичных цифр хранится в виде последовательности 4-битных групп. Например, число 3904 представляется в виде двоичного числа 0011 1001 0000 0100. В неупакованном BCD-формате каждая десятичная цифра находится в младшей тетраде 8-битной группы (байте), а содержимое старшей тетрады определяется используемой в данной ЭВМ системой кодирования, и в данном случае несущественно. То же число 3904 в неупакованном формате будет занимать 4 байта и иметь вид:
xxxx0011 xxxx1001 xxxx0000 xxxx0100. Числа с плавающей запятой обрабатываются на специальном сопроцессоре (FPU - floating point unit), который, начиная с МП I486, входит в состав БИС микропроцессора. Данные в нем хранятся в 80-разрядных регистрах. Управляя настройками сопроцессора, можно изменять диапазон и точность представления данных этого типа (таблица 14.1).
Таблица 14.1.
| Тип данных
| Размер (бит)
| Диапазон
| Обрабатывающий блок
| Целые без знака
| 1 байт
1 слово
1 двойное слово
|
| 0...255
0...65535
0...4294967295
| АЛУ
| Целые со знаком
| 1 байт
|
| -128...+127
| АЛУ
| 1 слово
|
| -32768...+32767
| FPU
| 1 двойное слово
|
| -2147483648...+2147483647
| 1 учетверенное слово
|
| ≈(0.92*1019)
| Числа с плавающей запятой
| действительное число
| 32 (1+8+23)
| ≈(0.34*1039)
| FPU
| с двойной точностью
| 64 (1+11+52)
| ≈(0.18*10309)
| с увеличенной точностью
| 80 (1+15+64)
| ≈(0.12*104933)
| Двоично-десятичные числа
| 1 байт неупакованное
|
| 0...9
| АЛУ
| 1 байт упакованное
|
| 0...99
| АЛУ
| 10 байт упакованное
|
| 0...(99...99)18цифр
| FPU
|
Date: 2016-05-14; view: 734; Нарушение авторских прав Понравилась страница? Лайкни для друзей: |
|
|