Компьютер
может обрабатывать только информацию, представленную в числовой форме. Вся
другая информация (звуки, изображения, показание приборов и т.д.) для обработки
на компьютере должна быть преобразована в числовую форму. Двоичная система
счисления. Как правило, все числа внутри компьютера представляются с
помощью нулей и единиц, а не десяти цифр, как это привычно для людей. Иными
словами, компьютеры обычно работают в двойничной системе
счисления, поскольку при этом их устройства получаются значительно
более простым. Ввод чисел в компьютер и вывод их для чтения человеком может
осуществляться привычным для людей десятичной форме – все необходимые
преобразования могут выполнить программы, работающие на компьютере.
Двоичное
кодирование числовой информации. Представление числовой информации в
компьютере.
Представление
чисел в формате с фиксированной запятой. Целые числа в компьютере хранятся
в памяти в формате с фиксированной запятой. В этом случае каждому
разряду ячейки памяти соответствует всегда один и тот же разряд числа, а
«запятая» «находится» справа после младшего разряда, то есть вне разрядной
сетки.
Для
хранения целых неотрицательных чисел отводится одна ячейка
памяти (8 битов). Например, число А2 = 111100002 будет храниться в ячейке
памяти следующим образом:
Максимальное
значение целого неотрицательного числа достигается в случае, когда во всех
ячейках хранятся единицы. Для n-разрядного
представления оно будет равно:
2n –
1.
Определим
диапазон чисел, которые могут храниться в оперативной памяти в формате целых
неотрицательных чисел. Минимальное число соответствует восьми нулям, хранящимся
в восьми битах ячейки памяти, и равно нулю. Максимальное число соответствует
восьми единицам и равно:
А
= 1·27+1·26+1·25+1·24+1·23+1·22+1·21+1·20 = 1·28 – 1 = 25510.
Диапазон
изменения целых неотрицательных чисел: от 0 до 255.
Для
хранения целых чисел со знаком отводится две ячейки памяти (16 битов), причем
старший (левый) разряд отводится под знак числа (если число положительное, то в
знаковый разряд записывается 0, если отрицательное – 1).
Представление
в компьютере положительных чисел с использованием формата «знак-величина»
называется прямым кодом числа. Например, число 200210 =
111110100102 будет представлено в 16-разрядном представлении следующим образом:
Максимальное
положительное число (с учетом выделения одного разряда на знак) для целых чисел
со знаком в n-разрядном
представлении равно:
2n-1
– 1.
Для
представления отрицательных чисел используется дополнительный код.
Дополнительный код позволяет заменить арифметическую операцию вычитания
операцией сложения, что существенно упрощает работу процессора и увеличивает
его быстродействие.
Дополнительный
код отрицательного числа А, хранящегося в n ячейках,
равен 2n –
|А|.
Для
получения дополнительного кода отрицательного числа можно использовать довольно
простой алгоритм:
1. Модуль
числа записать в прямом коде в n двоичных
разрядах.
2. Получить обратный
код числа, для этого значения всех битов инвертировать (все единицы
заменить на нули и все нули заменить на единицы).
3. К
полученному коду прибавить единицу.
Запишем
дополнительный код отрицательного числа –2002 для 16-разрядного компьютерного
представления:
При n-разрядном
представлении числа А в дополнительном коде старший разряд
выделяется для хранения знака числа (единицы).
При n-разрядном
представлении отрицательного числа А в дополнительном коде
старший разряд выделяется для хранения знака числа (единицы). В остальных
разрядах записывается положительное число
2n–1
– |A|.
Максимальное
значение модуля числа А в n-разрядном
представлении равно:
|A|
= 2n–1.
Тогда
минимальное отрицательное число равно:
А =
– 2n–1.
Определим
диапазон чисел, которые могут храниться в оперативной памяти в формате длинных
целых чисел со знаком(для хранения таких чисел отводится четыре ячейки
памяти – 32 бита).
Максимальное
положительное целое число (с учетом выделения одного разряда на знак) равно:
А =
231 – 1 = 2 147 483 64710.
Минимальное
отрицательное целое число равно:
А =
– 231 = – 2 147 483 64810.
Достоинством
представления чисел в формате с фиксированной запятой являются
простота и наглядность представления чисел, а также простота алгоритмов
реализации арифметических операций.
Недостатком
представления чисел с фиксированной запятой является небольшой
диапазон представления величин, недостаточный для решения математических,
физических, экономических и других задач, в которых используются как очень
малые, так и очень большие числа.
Представление
чисел в формате с плавающей запятой. Вещественные
числа хранятся и обрабатываются в компьютере в формате с плавающей
запятой. В этом случае положение запятой в записи числа может изменяться.
Формат
чисел с плавающей запятой базируется на экспоненциальной форме записи, в
которой может быть представлено любое число. Так число А может быть
представлено в виде:
А
= m · qn
где m –
мантисса числа;
q –
основание системы счисления;
n –
порядок числа.
Для
единообразия представления чисел с плавающей запятой используется
нормализованная форма, при которой мантисса отвечает условию:
1/n ≤
|m| < 1.
Это
значит, что мантисса должна быть правильной дробью и иметь после запятой цифру,
отличную от нуля.
Преобразуем
десятичное число 555,55 записанное в естественной форме, в экспоненциальную
форму с нормализованной мантиссой:
555,55
= 0,55555 · 103.
Здесь
нормализованная мантисса: m =
0,55555, порядок: n =
3.
Число
в формате с плавающей запятой занимает в памяти компьютера 4 (число обычной
точности) или 8 байтов (число двойной точности). При записи числа с
плавающей запятой выделяются разряды для хранения знака мантиссы, знака
порядка, порядка и мантиссы.
Диапазон
изменения чисел определяется количеством разрядов, отведенных для хранения
порядка числа, а точность (количество значащих цифр) определяется количеством
разрядов, отведенных для хранения мантиссы.
Определим
максимальное число и его точность для формата чисел обычной точности, если для
хранения порядка и его знака отводится 8 разрядов, а для хранения мантиссы и ее
знака – 24 разряда:
Максимальное
значение порядка числа составит 11111112 = 12710, и, следовательно,
максимальное значение числа составит:
2127
= 1,7014118346046923173168730371588 · 1038.
Максимальное
значение положительной мантиссы равно:
223
– 1 ≈ 223 = 2(10 · 2,3) ≈ 10002,3 = 10(3 · 2,3) ≈ 107.
Таким
образом, максимальное значение чисел обычной
точности вычислений составит 1,701411·1038 (количество значащих цифр
десятичного числа в данном случае ограниченно 7 разрядами).
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.