Числа в памяти компьютера
Оглавление | Главная | Статистика | Войти | Регистрация |
Основные темы параграфа:
Представление целых чисел
Часть памяти, в которой хранится одно число, будем называть ячейкой. Минимальный размер ячейки, в которой может храниться целое число, — 8 битов, или 1 байт. Получим представление десятичного числа 25 в такой ячейке. Для этого нужно перевести число в двоичную систему счисления.
2510 = 110012.
Теперь осталось «вписать» его в восьмиразрядную ячейку
00011001.
Число записывается «прижатым» к правому краю ячейки (в младших разрядах). Оставшиеся слева разряды (старшие) заполняются нулями.
Самый старший разряд — первый слева — хранит знак числа. Если число положительное, то в этом разряде ноль, если отрицательное — единица.
Максимальное целое положительное число, помещающееся в 8-разрядную ячейку, равно 127.
Для представления отрицательных целых чисел используется дополнительный код.
Получить дополнительный код некоторого отрицательного числа -X можно по следующему алгоритму:
1) Записать внутреннее представление соответствующего ему положительного числа +Х — это мы уже умеем;
2) Записать обратный код полученного числа заменой во всех разрядах 0 на 1 и 1 на 0;
3) К полученному числу прибавить 1.
Определим по этим правилам внутреннее представление числа -2510 в восьмиразрядной ячейке:
1) 00011001
2) 11100110
3) +1
111001112 — это и есть представление числа -2510.
Размер ячейки и диапазон значений числа
Наибольшее по модулю отрицательное значение в восьмиразрядной ячейке равно -128. Его внутреннее представление: 10000000. Таким образом, диапазон представления целых чисел в восьмиразрядной ячейке следующий:
-128 ≤ X ≤ 127 или -27 ≤ X ≤ 27 - 1.
Восьмиразрядное представление целых чисел обеспечивает слишком узкий диапазон значений. Если требуется больший диапазон, нужно использовать ячейки большего размера. Для 16-разрядной ячейки диапазон значений будет следующим:
-215 ≤ X ≤ 215 - 1 или -32 768 ≤ X ≤ 32 767.
Теперь становится очевидной обобщенная формула для диапазона целых чисел в зависимости от разрядности N ячейки:
-2N-1 ≤ Х ≤ 2N-1 - 1.
Особенности работы компьютера с целыми числами
Выполняя на компьютере вычисления с целыми числами, нужно помнить об ограниченности допустимых значений.
Выход результатов вычислений за границы допустимого диапазона называется переполнением. Переполнение при вычислениях с целыми числами не вызывает прерывания работы процессора. Машина продолжает считать, но результаты могут оказаться неправильными.
Представление вещественных чисел
Целые и дробные числа в совокупности называются вещественными числами. В математике также используется термин «действительные числа».
Всякое вещественное число X можно записать в виде произведения мантиссы m и основания системы счисления в некоторой целой степени n, которую называют порядком:
X = m • рn.
Например, число 25,324 можно записать в таком виде: 0,25324 • 102. Здесь m = 0,25324 — мантисса, n = 2 — порядок. Порядок указывает, на какое количество позиций и в каком направлении должна сместиться десятичная запятая в мантиссе.
Чаще всего для хранения вещественных чисел в памяти компьютера используется либо 32-разрядная, либо 64-разрядная ячейка. Первый вариант называется представлением с обычной точностью, второй — представлением с удвоенной точностью. В ячейке хранятся два числа в двоичной системе счисления: мантисса и порядок.
Особенности работы компьютера с вещественными числами
1. Диапазон вещественных чисел ограничен. Но он значительно шире диапазона целых чисел в рассмотренном ранее способе и х представления. Например, при использовании 32-разрядной ячейки этот диапазон следующий:
-3,4 • 1038 ≤ X ≤ 3,4 • 1038.
2. Выход за диапазон (переполнение) — аварийная ситуация для процессора, который прерывает свою работу.
3. Результаты машинных вычислений о вещественными числами содержат погрешность. При использовании удвоенной точности эта погрешность уменьшается.
Коротко о главном
В памяти компьютера целые числа представляются в двоичной системе счисления и могут занимать ячейку размером 8, 16, 32 и т. д. битов.
Диапазон значений целых чисел ограничен. Чем больше размер ячейки, тем шире диапазон.
При выходе результатов вычислений с целыми числами за допустимый диапазон работа процессора не прерывается. При этом результаты могут оказаться неверными.
Вещественные числа представляются в виде совокупности мантиссы и порядка в двоичной системе счисления. Обычный размер ячейки — 32 или 64 бита.
Результаты вычислений с вещественными числами приближенные. Переполнение приводит к прерыванию работы процессора.
Вопросы и задания
1. Как в памяти компьютера представляются целые положительные и отрицательные числа?
2. Укажите, каков был бы диапазон значений целых чисел, если бы для их хранения использовалась четырехразрядная ячейка.
3. Запишите внутреннее представление следующих десятичных чисел, используя восьмиразрядную ячейку: