книги из ГПНТБ / Караваев, Н. И. Электронные цифровые вычислительные машины и программирование учеб. пособие
.pdf- Р о
машин всегда применяется десятичная система счисления, то возникает необходимость двоичного кодирования десятичных цифр. Существует большое количество различных способов двоичного кодирования десятичных цифр, но в ЭЦВМ наиболее часто используется двоично-десятичная система счисления. Такое название получил способ кодирования десятичных чи сел путём прямого замещения каждой десятичной цифры че тырехразрядным двоичным числом /двоичной тетрадой/. На пример, десятичное число А * 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- |
число |
цифровых |
разрядов ячейки памяти. |
|
|
|
|
- 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 / |
видно, что |
изображение |
положительно |
||||
го числе |
в дополнительном |
коде |
|
совпадает с |
изображением |
его в прямом коде. Правило образования дополнительного кода отрицательного числа может быть сформулировано сле дующим образом: чтобы представить отрицательное число в дополнительном коде, необходимо в знаковом разряде поста вить единицу, а в цифровых разрядах заменить нули едини-