Представление чисел в компьютере

Целые числа без знака

Целые числа без знака обычно занимают в компьютере один, два или четыре байта

Таблица 2.1

  Формат числа в байтах Количество двоичных разрядов числа   Диапазон чисел
0 ÷ 255
0 ÷ 65 535
0 ÷ 4 294 967 295

Целые числа со знаком

Целые числа со знаком также занимают один, два или четыре байта, при этом самый левый разряд отведен для кода знака числа: «0» - положительное число, «1» - отрицательное число. Поэтому разрядность и диапазон значений этих чисел меньше указанных в табл. 2.1.

Таблица 2.2

  Формат числа в байтах Количество двоичных разрядов числа   Диапазон чисел
- 128 ÷ - 127
- 32 768 ÷ 32 767
- 2 147 483 648 ÷ 2 147 483 647

В компьютере применяется три формы кодов записи целых чисел со знаком: прямой код, обратный код и дополнительный код.

Положительное число имеет одинаковые прямой, обратный и дополнительный коды – двоичное число и цифра 0 в разряде для знака.

Пример. Запись числа 1100101 в однобайтовом формате:

Представление чисел в компьютере - student2.ru 0

Представление чисел в компьютере - student2.ru знак числа «+»

Отрицательное число имеет разные прямой, обратный и дополнительный коды.

Прямой код отрицательного числа содержит цифру 1 (знак числа ‘-‘) и абсолютную величину двоичного числа.

Обратный код отрицательного числа содержит цифру 1 и инвертированные (замененные на 1 нули и замененные на 0 единицы) цифры прямого кода.

Дополнительный код - это обратный код с прибавленной единицей в младшем разряде.

Пример.Записать число – 11101 в прямом, обратном и дополнительном кодах однобайтового формата. Прямой код:

Обратный код:

Дополнительный код:

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

Обычно отрицательные числа при вводе в компьютер автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из компьютера происходит обратное преобразование в отрицательные десятичные числа.

Вещественные числа

Любое число N в системе счисления с основанием q можно записать в виде

N = M×qP, 2.3

где Р – порядок числа,

М – мантисса, содержащая все цифры числа.

Запись числа в виде (2.3) называется представлением числа с плавающей точкой.

Если мантисса числа – правильная дробь (т.е. 0.1 £ М < 1), то число N называется нормализованным.

Пример. Десятичные числа: 312.41 = 0.31241×103; - 0.0000723917 = 0.723917×10-4. Двоичные числа: 0.000011 = 0.11× 2-100; - 101.01 = 0.10101× 211.

Нормальная форма позволяет при одинаковой разрядности получать существенно больший диапазон представления чисел. Это приводит к уменьшению вероятности переполнения разряд­ной сетки в ячейках хранения числа.

Структура записи нормализованного числа в компьютере в формате с n разрядами имеет следующий вид:

n-1 n-2 3 2 1 0

                       

Представление чисел в компьютере - student2.ru Представление чисел в компьютере - student2.ru Представление чисел в компьютере - student2.ru Представление чисел в компьютере - student2.ru Знак мантиссы

Смещенный порядок Абсолютная величина мантиссы

Смещенный порядок применяется для однообразного отображения положительных и отрицательных порядков. Например, порядок, принимающий значения в диапазоне – 32 ÷ + 31, представляется смещенным порядком, значения которого меняются от 0 до 64.

Сложение и вычитание нормализованных чисел производится путем сложения и вычитания их мантисс. Перед выполнением действия производится выравнивание порядков чисел.

Пример. 1.Сложить числа 0.10111×2-1 и 0.11011×210. Для выравнивания порядков мантисса первого числа сдвигается на три разряда вправо:

0.00010111 × 210

+ 0.11011 × 210

0.11101111 × 210

2.Выполнить вычитание 0.10101×210 – 0.11101×21. Для выравнивания порядков мантисса второго числа сдвигается на один разряд вправо:

0.10101 ×210

- 0.011101 ×210

0.001101 ×210

Результат получен не нормализованный. Поэтому его нормализуют к виду 0.1101×20.

При умножении нормализованных чисел их порядки складываются, а мантиссы перемножаются.

При делении нормализованных чисел из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя. Затем в случае необходимости полученный результат нормализуется.

При выводе из компьютера десятичных чисел для отображении их в нормализованном виде применяются записи вида:

- для чисел одинарной точности: МЕ ±Р

- для чисел двойной точности: МD±Р,

где М – мантисса числа, Р – порядок числа, а латинские буквы E и D означаю, что число имеет одинарную и соответственно двойную точность.

Пример. Число одинарной точности: 0.1234567Е + 16. Число двойной точности: 0.123456789012345D – 65.

Лекция 3

Наши рекомендации