Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика #12.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
153.94 Кб
Скачать

Представление числовой информации в эвм

Информация в памяти ЭВМ записывается в форме цифрового двоичного кода. Для этого в ней имеются ячейки памяти и регистры для хранения двоичной информации. Большинство ячеек имеет одинаковую длину n для хранения n-битной двоичной информации. Бит – один двоичный разряд. Информация, хранящаяся в такой ячейке, называется словом, состоящим из одного байта информации. Ячейки памяти и регистры состоят из элементов памяти, каждый из которых может находиться в одном из двух устойчивых состояний. Например, конденсатор заряжен или разряжен, транзистор открыт или закрыт, высокое или низкое сопротивление элемента, элемент намагничен или размагничен, и так далее. Одно из физических состояний создает высокий уровень выходного сигнала, а второе – низкий. Один из уровней принимаем за 1, а второй за 0 (или наоборот). Память ЭВМ состоит из конечной последовательности слов, а слова – из конечной последовательности битов. Так как объем, представляемый в машине информации, ограничивается ее памятью, то числовая информация представляется с определенной точностью, зависящей от архитектуры памяти данной ЭВМ.

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

знак

2m

20

.

2-1

2-n

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

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

где М – мантисса, s – порядок, p – основание системы счисления.

Выполнение арифметических операций над целыми числами.

Целые числа в ЭВМ могут представляться без знака и со знаком. Без знака – обычно занимают в памяти ЭВМ один или два байта. В однобайтовом диапазон – от 0 до 255, в двухбайтовом – от 0 до 65535.

Целые числа со знаком обычно занимают один, два или четыре байта. Диапазон: в однобайтовом от -127 до +127, в двухбайтовом от -32767 +32767.

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

Здесь aзн – значение знакового разряда, n – разрядность кода.

Допустим, есть число 11012

(-1)1*(1*22+0*21+1*20)=5

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

Смысл перевода (на примере десятичных чисел):

Пусть ЭВМ оперирует с двухразрядыми десятичными числами, и нужно сложить два числа. Х1=84, X2= -32. Заменим код отрицательного числа на его дополнение до 100.

Хдоп=100-32=68. Теперь сложим Х1 + Хдоп = 84 + 68 = 152. Учитывая, что ЭВМ работает с двумя десятичными разрядами, конечный результат будет 52. Истинное значение получается потому, что при формировании дополнительного кода (Хдоп) мы сначала прибавляем 100, а затем 100 вычитаем, отбрасывая единицу старшего разряда. Таким образом, дополнение М можно высчитать по формуле:

Где p – основание системы счисления, n – величина разрядной сетки, k – отрицательное число.

Дополнение числа можно получить и без вычитания. Перепишем выражение:

Здесь величина (pn – 1) состоит из n цифр (p - 1). Поэтому величину (pn - 1 – к) можно получить путем образования дополнений до (p – 1) для каждой из цифр числа «k» в отдельности, а искомое дополнение получится суммированием этого числа с единицей. Так как в двоичной системе дополнение цифр до единицы соответствует их инверсным значениям, то получается простое правило получения дополнения для двоичных чисел.

  1. Получить инверсию заданного числа ( 0 на 1, 1 на 0 заменить),

  2. Образовать дополнительный код заданного числа путем прибавления 1 к инверсии этого числа.

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

Например, получим десятичную запись отрицательного числа, представленную в дополнительном коде:

10112  A10 = 1*(-23) + 0*22 + 1*21 + 1*20 = -5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]