Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Караваев, Н. И. Электронные цифровые вычислительные машины и программирование учеб. пособие

.pdf
Скачиваний:
5
Добавлен:
20.10.2023
Размер:
8.52 Mб
Скачать

- Р о ­

машин всегда применяется десятичная система счисления, то возникает необходимость двоичного кодирования десятичных цифр. Существует большое количество различных способов двоичного кодирования десятичных цифр, но в ЭЦВМ наиболее часто используется двоично-десятичная система счисления. Такое название получил способ кодирования десятичных чи­ сел путём прямого замещения каждой десятичной цифры че­ тырехразрядным двоичным числом /двоичной тетрадой/. На­ пример, десятичное число А * 759,23 в двоично-десятичной системе счисления запишется в виде

А- ЩИ.

010J.

100J, ,

£010,

ЩЦ, д в _ д е с

7

5

9 ,

2

3

Если число представлено

в двоично-десятичной системе

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

Например:

А - 1010011001, 10001 дв.дес.-ООШ 1001 1001 , J000,

1QQQ дв.дес. - 299,88 дес.

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

Следует заметить, что существуют машины, в которых все вычисления осуществляются в двоично-десятичной систе­ ме счисления.

- 21 -

S 1.2. 1ЕРЕВ0Д ЧИСЕЛ ИЗ ОДНОЙ ПОЗИЦИОННОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ

Перевод целых чисел

Общее правило перевода целых чисел из одной пози­ ционной системы счисления в другую может быть сформулиро­ вано следующим образом: если задано изображение числа в системе счисления с основанием , то для получения изоб­ ражения этого же числа в системе счисления с основанием hli необходимо провести последовательное деление исходно­ го числа и его частных на значение Nz , выраженное в системе с основанием JVi . Остатки от деления будут яв­ ляться цифрами числа в системе счисления с основанием Л/г ; самый последний остаток является цифрой старшего разряда.

Поясним это правило примерами.

1. Пусть дано десятичное число а дес.» 91 . Требуется найти изображение этого числа в двоичной и восьмеричной системах счисления. Для перевода числа в двоичную систе­

му произведём

последовательное

деление

на 2 и

запишем ос ­

татки от деления:

 

 

 

 

 

У1

2

 

 

 

 

 

8

to

 

 

 

 

 

11

4

 

 

 

 

 

10

О

2

 

 

 

 

1

4

о

2

 

 

 

 

с

4_

2

 

 

 

 

О

1

_2_

Г Г

 

 

 

 

.

0

о_

 

 

 

 

1

 

 

 

о

1

0

1 -

•остатки

 

 

А Дв

011011 .

 

 

 

При проведении последовательных делений удобно использо­ вать следующую форму записи:

 

 

- 22

-

 

 

 

91

 

1

 

 

 

45

г

1

 

 

 

22

2

0

 

 

 

11

2

1

 

 

 

5

2

1

 

 

 

2 .

2

0

 

 

1

2

1

 

 

 

 

 

 

 

 

0

 

 

 

 

Аналогично,

для определения

А восьм

произведем

последовательные

деления

на

8

и запишем

остатки:

 

91

8

 

8

 

 

8_

11

 

 

 

11

8

 

1

 

 

8

3

 

_0_

 

 

3

 

 

1

 

 

 

 

 

 

остатки

 

А восьм

133 .

 

2. Пусть дано двоичное А дв - 1100001. Требуется найти десятичное изображение этого числа, т . е . А дес •= ? Для перевода числа из двоичной системы в десятичную необходи­ мо деление осуществлять в двоичной системе и полученные остатки записать десятичными цифрами

1100001

I 1010

или

1100001

:

1010

111 —7

1010

! 1001

1010

1001

:

1010

1001 —9

10G01

 

0

о

 

 

 

1010

 

остаток

 

 

 

 

111.

 

 

 

 

 

 

1-й остаток

 

А дес

 

«= 97.

 

- 23 -

Перевод дробных чисел

Общее правило перевода правильное дроби из одной по­ зиционной системы счисления в другую заключается в следую­ щем: если задано изображение правильной дроби в системе счисления с основанием $\ , то для получения ее изображе­ ния в системе счисления с основанием Hz необходимо про­ извести последовательное умножение исходной дроби и дроб­ ных частей получающихся произведений на значение Л4 , вы­

раженное в системе счисления с

основанием

Afi

. Образую­

щиеся при этом целые числа произведений и будут цифрами

изображения исходной правильной

дроби в системе

счисле­

ния с основанием N2 .

 

 

 

 

П р и м е р ы :

=

0,75

 

 

 

1/ А дес

 

 

 

А дв

-

?

 

 

 

А восьм

= ?

 

 

0,75.

 

 

0,75

 

х:

2

 

х

8

 

1,50

 

 

6,00

 

х2

1,00

 

 

 

А дв

-

0,11 ;

А восьм * 0,6 .

 

 

2 /

А Дв

= 0 , 1 1

 

 

 

А восьм = ?

 

 

 

А дес

= ?

0,11

 

 

.0,11

х

1010

 

 

1000

11

11

 

 

110,00

 

 

 

 

*

'1010

 

 

5

101.0U

 

 

А дес

» 0,75 j

 

А восьм = 0 , 6

- 24 -

Если число представляет собой неправильную дробь, то перевод в требуемую систему счисления производится от­ дельно целой части и отдельно дробной части; второй ре­ зультат приписывается к первому.

Например, десятичное число 15,75 в двоичной системе будет иметь вид 1111,11, в восьмеричной системе - 17,6.

Перевод чисел из восьмеричной системы счисления в двоичную и наоборот

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

степенью

основания второй системы, т . е . УУ<=Л4 ,то общие

правила перевода чисел значительно упрощаются.

Так как

основание восьмеричной системы счисления

8 * 2 ^ ,

то

для перевода восьмеричного числа в двоичную

систему счисления достаточно каждую восьмеричную цифру за­ менить трехразрядным двоичным эквивалентом /триадой/.

Например:

Авосьы * 27,63;

Адн = 10111, 110011 .

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

Например:

А дв - 1111,11 = ,001111,110.; А восьм = 17,6 .

S 1.3. ФОРМЫ riPt^CTAMiiHMH ЧИСЕЛ

В электронных цифровых вычислительных машинах исполь­ зуются две известные формы представления чисел:

- 25 -

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

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

6 зависимости от принятой формы представления чисел

ЭЦВМ делятся

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

с плавающей

запятой.

Естественная форма

При использовании естественной формы представления все числа изображаются в виде последовательности цифр с постоянным положением запятой, отделяющей целую часть от дробной.

В ЭЦВМ для хранения чисел используются ячейки памяти. В машинах с фиксированной запятой ячейка памяти включает знаковый разряд и цифровые/разряды. Некоторое постоянное число цифровых разрядов отведено для хранения целой части числа, а остальные разряды - для хранения дробной части.

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

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

Знак числа в машине изображается с помощью двоичных

цифр:

В знаковом разряде ячейки памяти стоит нуль, если в ней записано положительное число, или единица, если ячей­ ка хранит отрицательное число.

Примером машины с фиксированной запятой является СЭЦВМ-1.

Машина СЭЦВМ-1 имеет 35 - разрядные ячейки памяти. 1-й разряд является знаковым разрядом. Запятая фиксирова­ на перед старшим цифровым разрядом. Разряды со 2-го по 34-й предназначены для записи цифровой части числа.

35-й разряд - контрольный. Распределение разрядов ячейки памяти СЭЦВМ-1 при хранении двоичного числа показано на рис. 1 . 1 .

А/амти с с а

35 34 33 32 31 За 29 21 2 7

7 « 5 4 3 2

 

Рис. 1 . 1 . Распределение разрядов ячейки памяти машины СЭЦВМ-1 при хранении числа

Основной недостаток естественной формы представления чисел - относительна малый диапазон изображаемых чисел.

Так, в машинах с фиксированной

запятой после знакового

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

0,111

1 «

= 1 - 2~Л до 0,00

01 -

2 - r i , гдеII-

число

цифровых

разрядов ячейки памяти.

 

 

 

 

/ 1 . 2 /

- 27 -

Нормальная форма

При использовании нормальной формы любое число изоб­

ражается в следующем виде:

А - mJV ,

где А - изображаемое число; m - мантисса числа;

N - основание системы счисления; р - порядок числа.

Например, двоичное число 11,011, записанное в естест­ венной форме, в нормальной форме может быть записано в виде

11,011 * 10°, или 1, 1011* Ю 1 . или 0,11011 * 1 0 1 0 , или 110,11 * 1Q"1 , и т.д.

Знак

{/иуузо&ыв

 

 

ло/нгЭка

разрядлс

У

ЦарроЁ&ке f>o3f>ad&z мажтиеом

—/горд&ка.

 

 

 

 

 

« 5 4 3 2 » 33 32 31

4 3 2 1

Лолгера

разрядов

 

 

Рис. 1 . 2 . Распределение разрядов ячейки памяти машины БЭСМ при хранении двоичного числа

Таким образом, при изображении чисел в нормальной фор­

ме положение запятой не фиксировано, а может

изменяться.

Место запятой указывает порядок числа. Число считается

нормализованным,

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

цифрой мантиссы,

т . е .

.

 

 

 

7 o 0 g < m < l .

/ 1 . 3 /

- 28 -

Например: 0,11001 * 1 0 м - нормализованное число; 0,0011001 х 10^* - ненормализованное число.

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

порядка

и его знака.

 

 

 

 

 

 

Примером машины с плавающей запятой является БЭСМ.

Машина БЭСМ имеет 39-

разрядную ячейку

памяти. Распреде­

ление разрядов ячейки памяти машины БЭСМ при хранении

двоичного числа

показано на рис. 1.2.

 

 

 

 

диапазон чисел, с которыми может оперировать БЭСМ,

лежит

в

пределах

от

0,00

001 '2°*

2 " 3 2

до

0,111...

,

1

* 2 + 3 1 « #

2 + 3 1 ,

т . е .

примерно от

10~9

до

1 0 + 9 .

Следовательно,

в машинах с плавающей

запятой

значи­

тельно

расширяется

диапазон

представления

чисел. При

этом арифметическое устройство усложняется, так как необ­ ходимо проводить операции не только с мантиссами чисел, но и с их порядками.

Имеются машины /например, м Урал-2н /, в которых исполь­ зуется представление чисел как с фиксированной, так и с плавающей запятой. Это значительно расширяет возможности машин, так как при использовании естественной формы уве­ личивается быстродействие машины, а при использовании нормальной формы увеличивается диапазон и точность пред­ ставляемых чисел.

S 1.4. АРИШЕТИЧЕСКИЕ ДЕЙСТВИЯ С ДВОИЧНЫМИ

 

 

ЧИСЛАМИ В ЭЦВМ

 

 

Способы представления

чисел

 

В ЭЦВМ используются

 

три способа

представления чисел:

-

представление

чисел

в

прямом коде;

-

представление

чисел

в

дополнительном коде;

-представление чисел в обратном коде.

Все эти способы применяются при использовании как ее-

- 29 -

тественной, так и нормальной формы представления чисел. В памяти машины все числа хранятся в прямом коде. Прямой код используется также при умножении чисел в машинах с

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

няются в обратном или дополнительном коде.

 

 

 

 

Прямой код числа

X

обозначается символом [XJ пр. Он

представляет собой

то

же число X,

в

знаковом разряде

ко­

торого стоит 0, если число положительное,

или 1,

если

чис­

ло

отрицательное.

 

 

 

 

 

 

 

 

 

 

Правило

образования

прямого

кода

может

быть

записано

в

виде формулы

 

 

 

 

 

 

 

 

 

 

 

 

Например:

 

 

 

 

И-Л,если

X < U .

 

 

 

 

X - + 0 . 1 0 1 1 0 1 ;

 

[X] пр

« 0,101101;

 

 

 

 

Х = - 0 , 1 0 1 1 0 1 ;

 

[X]

пр - 1 -

(-0,101101) = 1,101101.

 

Нуль в прямом коде имеет два

изображения:

 

 

 

[ О ]

пр

=

О

0,000

3

-

0,000 . . . .

 

 

 

[ 0 ]

пр

-

[ -

0,000

]

-

1,000 . . . .

 

 

 

Дополнительный вод числа X обозначается

символом

 

[X]доп и образуется по формуле

 

Гх1 -

/ Х >

е с л и

 

X >

0 ;

/ 1 . 5 /

 

^•доп

[10 + X,

если

Х < 0 .

 

Например:

 

 

 

 

 

 

 

Х « + 0,101101;

 

 

 

[X] доп

= 0,101101;

X » -

0,101101;

[ X ]

доп

«

10+ С-0,101101 ) - 1,010011 .

Из формулы / 1 . 5 /

видно, что

изображение

положительно­

го числе

в дополнительном

коде

 

совпадает с

изображением

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

Соседние файлы в папке книги из ГПНТБ