Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика — курс лекций.pdf
Скачиваний:
540
Добавлен:
11.03.2015
Размер:
2.18 Mб
Скачать

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

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

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

Двоично-десятичная система счисления

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

В двоично-десятичной системе десятичные цифры от 0 до 9 представляют 4-разрядными двоичными комбинациями от 0000 до 1001, т.е. двоичными эквивалентами десяти первых шестнадцатеричных цифр. Преобразования из двоично-десятичной системы в десятичную систему счисления (ДСС) (и обратные преобразования) не вызывают затруднений и выполняются путём прямой замены четырёх двоичных цифр одной десятичной цифрой (или обратной замены).

Две двоично-десятичные цифры составляют 1 байт. Таким образом, с помощью 1 байта можно представлять значения от 0 до 99, а не от 0 до 255, как при использовании 8-разрядного двоичного числа. Используя 1 байт для представления каждых двух десятичных цифр, можно формировать двоично-десятичные числа с любым требуемым числом десятичных разрядов.

Сложение двоично-десятичных чисел, имеющих один десятичный разряд, выполняется так же, как и сложение 4-разрядных двоичных чисел без знака, за исключением того, что при получении результата, превышающего 1001, необходимо производить коррекцию. Результат корректируется путём прибавления двоичного кода числа 6, т.е. кода 0110.

Если первоначальное двоичное сложение или прибавление корректирующего числа приводит к возникновению переноса, то при сложении многоразрядных двоично-десятичных чисел перенос осуществляется в следующий десятичный разряд.

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

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

Ячейки памяти и регистры состоят из элементов памяти. Каждый из таких электрических элементов может находиться в одном из двух устойчивых состояний: конденсатор заряжен или разря-

55

жен, транзистор находится в проводящем или непроводящем состоянии, специальный полупроводниковый материал имеет высокое или низкое удельное сопротивление и т.п. Одно из таких физических состояний создает высокий уровень выходного напряжения элемента памяти, а другое — низкий. Обычно это электрические напряжения порядка 4—5 В и 0В соответственно, причём первое обычно принимается за двоичную единицу, а второе — за двоичный ноль (возможно и обратное кодирование).

На рисунке 7 показан выходной сигнал такого элемента памяти (например, одного разряда регистра) при изменении его состояний (при переключениях) под воздействием некоторого входного сигнала. Переход от 0 к 1 и от 1 к 0 происходит не мгновенно, однако в определённые моменты времени этот сигнал достигает значений, которые воспринимаются элементами ЭВМ как 0 или 1.

Рисунок 7 — Графическое изображение двоичного сигнала

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

В вычислительных машинах применяются две формы представления двоичных чисел:

естественная форма, или форма с фиксированной запятой (точкой);

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

С фиксированной запятой все числа изображаются в виде последовательности цифр с посто-

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

знак

2n – 1

21

20

,

2–1

2–2

 

2r

 

 

n + 1

 

 

 

 

r

 

 

 

 

Рисунок 8 — Разрядная сетка для формы с фиксированной запятой

 

 

Диапазон представления чисел по модулю для такой формы:

| |

.

Если в результате операции получится число, выходящее за допустимый диапазон, происходит переполнение разрядной сетки, что нарушает нормальное функционирование вычислительной

56

машины. В современных ЭВМ естественная форма представления используется как вспомогательная

итолько для целых чисел.

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

 

 

 

,

 

 

 

где — мантисса числа (| |

); — порядок числа (

— целое число); — основание системы

счисления.

 

 

 

 

 

 

При

и наличии

разрядов у мантиссы и разрядов у порядка (без учёта знаковых раз-

рядов) диапазон представления чисел с плавающей запятой:

 

 

 

 

(

) | | (

)

(

).

Нормальная форма представления является основной в современных ЭВМ.

Прямой, обратный и дополнительный коды

Целые числа могут представляться в компьютере без знака или со знаком.

Целые числа без знака. Обычно занимают в памяти компьютера один или два байта. В однобайтовом формате принимают значения от 0 до 255. В двухбайтовом формате — от 0 до 65535.

Целые числа со знаком: прямой, обратный и дополнительный коды. Целые числа со зна-

ком обычно занимают в памяти компьютера один, два или четыре байта.

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

Прямой код. Прямой -разрядный двоичный код отличается от двоичного тем, что в нём отво-

дится один, как правило, самый старший разряд для знака, а оставшиеся

разрядов — для зна-

чащих цифр. Значение знакового разряда равно 0 для чисел

, и 1 —

для чисел

.

Для прямого кода справедливо следующее соотношение:

 

aзн

n2

 

A

a 2

i

1

 

10

 

i

 

 

 

i0

 

,

где — разрядность кода; — значение знакового разряда.

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

57

Смысл перевода -разрядного отрицательного числа

из прямого в дополнительный код за-

ключается в получении его дополнения по формуле:

 

 

 

,

 

 

 

(16)

где — основание системы счисления.

 

 

 

Так как количество различных целых -разрядных чисел равно

(от 0 до

), то половину

этих чисел рассматривают как положительные (от 0 до

 

 

), а другую половину — как отрицатель-

 

ные (т.е. как дополнения к первой половине чисел). Полный же набор таких чисел называют числами, представленными в дополнительном коде.

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

 

 

((

)

)

.

 

Здесь число

 

состоит из цифр (

), т.е. старших цифр используемой системы счис-

ления.

 

 

 

 

 

 

Поэтому (

)

можно получить путём образования дополнений до

для каждой

из цифр числа в отдельности, а искомое дополнение — суммированием этого числа с 1. Так как в двоичной системе дополнения цифр до 1 соответствуют их инверсным значениям (дополнение 0 равно 1, а дополнение 1 — 0), то можно дать простое правило для получения дополнения двоичных чисел:

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

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

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

Для дополнительного кода справедливо следующее соотношение:

 

A

 

 

10

 

где

{

;

aзн 2

n1

n2

 

 

 

д

2

i

,

 

ai

 

 

 

i0

 

 

 

— разрядность машинного слова.

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

Для обратного кода справедливо следующее соотношение:

58