Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Представление чисел в ЭВМ




Доверь свою работу кандидату наук!
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

В цифровых ЭВМ числовая информация представляется в двух формах:

- с фиксированной точкой (естественная форма);

- с плавающей точкой (экспоненциальная форма).

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

Представление с плавающей точкой любого числа N в общем виде описывается следующей формулой:

N = ± M × p±k,(3)

где ±M – мантисса (дробная часть) числа;

p – основание системы счисления;

±k – порядок (целое число),

при этом положительный знак мантиссы и порядка может опускаться, а при указании порядка в десятичной системе принято использовать символ Е. Например, десятичное число с фиксированной точкой 123,45 может быть представлено в форме с плавающей точкой как 0,12345 × 103, или, как это принято, 1.2345Е+02. Такая форма представления имеет огромный диапазон отображения чисел и является основной в современных ЭВМ.

Исходные данные в ЭВМ хранятся в виде двоичных чисел, то есть записываются в виде последовательности нулей и единиц. В памяти ЭВМ одна двоичная цифра записывается в один двоичный разряд, называемый битом. За единицу представления данных в цифровых ЭВМ принят байт– восемь бит, поэтому число разрядов ячеек памяти всегда кратно восьми, а данные имеют байтовую структуру, то есть состоят из определенного числа байтов.

Более крупные единицы измерения данных образуются добавлением префиксов кило-, мега-, гига-, тера-:

1 килобайт (Кбайт) = 210 байт = 1024 байт

1 мегабайт (Мбайт) = 220 байт = 1024 Кбайт

1 гигабайт (Гбайт) = 230 байт = 1024 Мбайт

1 терабайт (Тбайт) = 240 байт = 1024 Гбайт


Для представления положительных и отрицательных чисел в машинах используются специальные коды: прямой, обратный и дополнительный. Причем два последних позволяют заменить неудобную для ЭВМ операцию вычитания на операцию сложения с отрицательным числом; дополнительный код обеспечивает более быстрое выполнение операций при помощи сумматора, поэтому в ЭВМ применяется чаще именно он. Рассмотрим правила кодирования на примере целых чисел.

Для перевода числа в прямой код знак числа опускается, а в старший (знаковый) разряд ставится 0, если число положительное, и 1 – если число отрицательное. Младшие разряды кода являются двоичным представлением модуля числа. Оставшиеся разряды кода заполняются нулями. Отметим, что перевод положительных чисел в прямой, обратный и дополнительный код не изменяет изображения этих чисел (таблица 3).

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

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

Перевод отрицательного числа из дополнительного кода в прямой осуществляется в обратной последовательности: сначала вычитается единица, затем инвертируются разряды. Напоминаем, что положительное число (0 в старшем разряде) обратному переводу не подвергается, поскольку имеет одинаковую запись как в прямом коде, так и в дополнительном.

Таблица 3 – Примеры представления целых чисел в шестнадцатиразрядных двоичных кодах

Число прямой код обратный код дополнительный код
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0001 0000 0000 0000 0001 0000 0000 0000 0001
-1 1000 0000 0000 0001 1111 1111 1111 1110 1111 1111 1111 1111
0000 0000 0001 0100 0000 0000 0001 0100 0000 0000 0001 0100
-20 1000 0000 0001 0100 1111 1111 1110 1011 1111 1111 1110 1100

 

При написании программ важно определить диапазоны значений и формы представления обрабатываемой информации. Например, в языках программирования семейства BASIC (Бейсик) типы переменных INTEGER и LONG используются, соответственно, для хранения целых чисел со знаком в шестнадцатиразрядном (два байта, или полуслово) и тридцатидвухразрядном (четыре байта, или машинное слово) дополнительном коде. Знак числа фиксируется в нулевом бите первого байта (крайний левый бит). Цифровая часть числа хранится в остальных битах поля числа, причем младший двоичный разряд числа находится в последнем, правом бите последнего байта. Переменные типа SINGLE и DOUBLE используются для хранения чисел с плавающей точкой в четырех или восьми байтах (двойное слово) соответственно. Знак хранится в нулевом бите, биты 1-7 отводятся под порядок числа, остальные биты используются для разрядов мантиссы. Как правило, мантисса хранится в нормальном виде, то есть первым ее разрядом не является 0.







Дата добавления: 2015-10-15; просмотров: 499. Нарушение авторских прав; Мы поможем в написании вашей работы!

Studopedia.info - Студопедия - 2014-2022 год . (0.021 сек.) русская версия | украинская версия