Учебник для вузов Общие сведения Аппаратное обеспечение
Скачать 5.31 Mb.
|
Кодирование числовой информацииЧисловая информация, как и любая другая, хранится и обрабатыва- ется в компьютерах в двоичной системе счисления – числа представляются в виде последовательностей нулей и единиц. Существуют два вида чисел и два способа их представления: форма с фиксированной точкой и форма с плавающей точкой. Форма с фиксиро- ванной точкой применяется для целых чисел, форма с плавающей точкой – для вещественных (действительных) чисел. Как это ни странно, не все студенты 1 курса вуза могут ответить на вопрос, что такое действительные или вещественные числа. Это рацио- нальные и иррациональные числа, у которых может быть как целая, так и дробная часть, записываемая справа от разделителя целой и дробной части. Как разделитель при работе на компьютере раньше всегда использовалась точка, но в современных системах разделитель – точка или запятая – мо- жет настраиваться в соответствии со стандартами страны пользователя или с его привычками. ЭВМ оперирует с числами, содержащими конечное число двоичных цифр (разрядов). Количество разрядов ограничено длиной разрядной сетки машины. Под разрядной сеткой понимается совокупность двоичных разря- дов, предназначенных для хранения и обработки машинных слов (двоич- ных кодов). Количество двоичных разрядов и положение запятой в разрядной сетке машины определяют такие важные характеристики ЭВМ, как точ- ность и диапазон представляемых чисел. Кроме бита и байта, для указания длины формата чисел используется машинное слово, полуслово и двойное слово. Двойное слово и полуслово по-разному определяются для разных систем ЭВМ. Кроме того, может ис- пользоваться понятие тетрада – 4 двоичных разряда, которыми может кодироваться, например, одна двоичная цифра. Двоичные разряды в форматах формируются слева направо (начиная с нулевого разряда). Кодированиецелыхчисел Целые числа в компьютере хранятся в памяти в формате с фиксиро- ванной запятой. В этом случае каждому разряду разрядной сетки соответ- ствует всегда один и тот же разряд числа. Целые числа без знака (положительные) – для их хранения может отводиться последовательность из 8, 16 или 32-х бит памяти. Например, максимальное 8-битное число A2 = 111111112 будет храниться следующим образом (прямой код):
Максимальное значение целого неотрицательного числа достигается в случае, когда во всех ячейках хранятся единицы и равно 2N-1, где N – разрядность числа. Для 8-разрядных целых положительных чисел оно будет равно 28 - 1 = 255, для 16-разрядных 216 - 1 = 65 535, для 32-разрядных 232 - 1 = 4 294 967 295. Целые числа со знаком (могут быть положительные и отрицатель- ные) – при их хранении используется последовательность из 8, 16 или 32-х бит памяти, причем старший бит (первый слева) обозначает знак числа – 0 - положительное, 1 – отрицательное. При записи чисел используется не прямой, а дополнительный код двоичного числа равный 2N – A, где N – разрядность числа, A – прямой код двоичного числа. Дополнительным называется код, в котором для положительного числа в знаковом разряде пишется "0", в цифровых – модуль числа, а для отрицательного в знаковом разряде пишется "1", в цифровых – дополнение числа до единицы (инвертирование цифр). Например, число -1 в 8-разрядном двоичном коде выглядит, как 11111111, -2 – как 11111110 и т. д. Дополнительный код позволяет заменить арифметическую операцию вычитания операцией сложения, что исключает операцию вычитания их набора команд двоичной арифметики процессора. Таким образом, при использовании 8-ми разрядов для хранения це- лых чисел со знаком диапазон их изменения составит от – 128 до 127, если использовать 16 разрядов – от -32 768 до 32 767, 32 разряда – от -2 147 483 648 до 2 147 483 647, что следует учитывать при работе с целыми типами данных при программировании и работе с базами данных. Кодированиевещественныхчисел Для того чтобы представить действительное число X в виде набора целых чисел (двоичных – для представления в компьютерной памяти), его необходимо привести к нормализованной форме: X = M · NP; где M – мантисса(дробная часть), N – основание системы счисле- ния, а P – порядок числа. Для десятичной системы счисления нормальная форма X = M · 10P, для двоичной X = M · 2P. Например, число 22.2210 в таком виде будет выглядеть, как +0,2222·102 (при записи чисел в памяти ЭВМ ноль и запятая отсутствуют). Таким образом, действительные число на компьютерах хранится в двоичной системе счисления в виде:
где S – признак знака числа. Поскольку размер памяти, отводимый под мантиссу и порядок, огра- ничен, то действительные числа представляются с некоторой погрешно- стью, определяемой количеством разрядов в мантиссе числа, и имеют определенный диапазон изменения, определяемый количеством разрядов в порядке числа. Конкретные характеристики различных типов вещественных типов данных для ПК определены в стандарте IEEE-754-1985 (Institute of Electri- cal and Electronic Engineers - http://www.ieee.org/), согласно которому ис- пользуются 3 основных формы (см. табл. 1.3). Особенности арифметики для чисел с плавающей точкой могут су- щественно влиять на результаты расчётов, вплоть до того, что погреш- ность может сделать невозможным получение какого-либо результата во- обще, поэтому знание деталей представления в памяти таких чисел и реа- лизации арифметики вещественных чисел является необходимым для про- граммистов. Таблица 1.3. Данные с плавающей точкой по стандарту IEEE-754-1985
|