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