Uploaded by vadim.moshko

Пример решения (1)

advertisement
Примеры решения задач для выполнения задания 1
1. 29610   5 Перевести подбором коэффициентов многочлена.
5 3  125; 5 4  625 . В многочлене максимальная степень 3.
 5    53    5 2    51    50
Начальный вид многочлена:
125  2  250; 296  250  46 . Коэффициент при 53 равен 2, остаток 46.
25  2  50;  46  25  21 . Коэффициент при 5 2 равен 1, остаток 21.
5  4  20;  21  20  1 . Коэффициент при 51 равен 4, остаток 1.
Коэффициент при 5 0 равен 1, остаток 0.
 5  2  53  1  5 2  4  51  1  50 .  5  2141
Конечный вид многочлена:
Ответ: 29610  21415
2. 367410   8 Перевести подбором коэффициентов многочлена.
8 3  512; 4 4  4096 . В многочлене максимальная степень 3.
8    83    8 2    81    80
Начальный вид многочлена:
512  7  3584; 3674  3584  90 . Коэффициент при 83 равен 7, остаток 90.
90  64  26 . Коэффициент при 8 2 равен 1, остаток 26.
8  3  24;  26  24  2 . Коэффициент при 81 равен 3, остаток 2.
Коэффициент при 8 0 равен 2, остаток 0.
8  7  83  1  8 2  3  81  2  80 .  5  7132
Конечный вид многочлена:
Ответ: 367410  7132 8
3. Перевести 9810   2 делением на основание.
98
2
98 49
0
2
48
24
1
24 12
0
2
2
Получаем  2  1100010 2
12
6
2
0
6
3
0
2
1
2
1
4. 124810   3 Перевести делением на основание.
1248 3
1248 416 3
0
414 138 3
Получаем  3  1201020 3
2 138 46 3
0
45
15 3
1
15
5
Ответ: 124810  1201020 3
5. Перевести 1100110111 0012   10 делением на основание.
1 1 0 0 1 1 0 1 1 1 0 0 1 10 1 0
1010
1 0 1 0 0 1 0 0 1 0 10 1 0
1011
1 0 0 0 0 0 1 1010
1010
1010
0010010
1010
110
1011
1010
01100
1010
1000
1010
1100
1010
8
6
Получаем  10  658510
101
5
101
5
Пояснения: Поделили первый раз на 1010 нацело (т.е. делим до тех пор, пока
можем делить нацело) – получили частное 1010010010 и остаток 101. Смотрим на
полученное частное 1010010010– оно больше 1010, поэтому продолжаем делить дальше,
но уже берем это частное и делим его на 1010 также до тех пор, пока можно делить
нацело. Получаем частное 1000001 и остаток 1000. Опять смотрим: 1000001 больше 1010,
на которое делим, поэтому надо делить дальше. Делим 1000001 на 1010 – получаем
частное 110 и остаток 101. Теперь частное 110 меньше 1010, поэтому делить прекращаем.
Далее, каждый полученный остаток и последнее частное переводим в 10 с/с и
записываем полученные цифры в результат, начиная с последнего частного: 6585 – это и
есть ответ.
Т.о. Делим на основание новой системы счисления нацело, пока можем, выписывая
остатки.
6. 136910   5 Перевести делением на основание.
1369 5
1365 273 5
4
270 54 5
Получаем  5  20434 5
3 50 10 5
4 10 2
0
Ответ: 136910  20434 5
7. 1100101110 112   10 Перевести делением на основание.
110010111011
10 1 0
1010
101000101
10 1 0
1010
100000
1010
1010
11
01100
3
1010
1010
000101
01110
5
1010
1010
10011
10
1010
2
Получаем  10  325910
1001
9
Ответ: 1100101110 112  325910
8. Перевести 0,62510   2 умножением на основание.




0,625 исходное число
2 основание новой с / с, записанное по правилам исходной с / с
1,250 первый остаток
2
0,500 второй остаток
2
1,000
умножение закончено  получен нулевой остаток
Стрелка показывает направление записи результата перевода.
Ответ: 0,62510  0,1012
Умножение на основание происходит по схожим правилам:
1) Берем дробную часть числа и умножаем на основание новой с/с, записанное по
правилам исходной с/с. Получаем результат умножения, в котором с конца
отсчитываем столько цифр – сколько в исходном числе после запятой (в №4 – 3
цифры после запятой, в №5 – четыре цифры после запятой), ставим запятую
после этих цифр и получаем целую часть (до запятой) и дробную (после
запятой). Целую часть оставляем пока – по ней будем записывать результат.
2) Если дробная часть вся состоит из нулей, то умножение прекращаем и
переходим к записыванию результата (к п.4).
3) Если дробная часть – не нули, то выписываем ее отдельно и опять проводим с
ней сеанс умножения на основание новой с/с, записанное по правилам
исходной с/с (т.е. переходим к п.1). Делаем умножение столько раз, сколько
задано в условии (например – 3 знака после запятой – умножаем 3 раза).
4) Запись результата. В результат записываем «0,», берем первую целую часть
(полученную после первого умножения), переводим в конечную с/с и
полученную цифру записываем в результат, так поступаем последовательно со
всеми полученными целыми частями.
9. Перевести 0,11012   10 умножением на основание.

0,1101

0,0010
1101
0000

0010
0000
1101
1000,0010
0010
001,0100
8 ост.
1 ост.
0,0100


0100
0000
0100
010,1000
2 ост.
0,1000
1010
0000
1010
0000
1010
0000
1010
0000



1000
0000
1000
101,0000
5 ост.
По окончании деления целые части произведений переводятся в новую с/с и
последовательно выписываются, начиная с первого.
Ответ: 0,11012  0,812510
10. 0,110112   10 Перевести умножением на основание. Точность 5 знаков
после запятой.


0,11011
0,01110
 0,01100
 0,11000
1010
00000
1010
00000
1010
00000
1010
00000


11011
00000

01110
00000

01100
00000
11000
00000
11011
1000,01110
01110
100,01100
01100
011,11000
11000
111,10000
8
4
3
7

0,10000
1010
00000

10000
00000
10000
101,00000
5
Ответ: 0,110112  0,8437510
5942,31810   2
11.
Перевести делением и умножением на основание.
Точность 5 знаков после запятой.
Перевод целой части.
5942
2
5942 2971
2
0 2970 1485
2
1 1484 742
2
1 742 371
2
0 370 185
2
1 184 92
2
1 92 46
2
0 46 23
2
0 22 11 2
1 10 5 2
1 4 2 2
1 2 1
0
Получаем для целой части: 1011100110 110 2
Перевод дробной части.

0, 318

0, 636

1, 272

0, 544

1, 088

0, 176
2
2
2
Получаем для дробной части: 0,01010 2
2
2
2
0, 352
Ответ: 5942,31810  1011100110 110,01010 2
12. Перевести 467,325 8   16
Исходная с/с – 8, что соответствует 2 3 , т.е. k=3. Следовательно, цифры исходного
числа записываются в двоичной с/с тремя разрядами (триадами).
467,325 8  100 110 111 , 011 010 1012
Новая с/с – 16, что соответствует 2 4 , т.е. k1=4. В записанном двоичном
представлении, начиная от запятой выделяется по 4 разряда (тетрада). Если разрядов для
выделения не хватает, то они дописываются нулями. Затем каждая тетрада переводится в
цифру 16 с/с. Запись подряд полученных цифр является результатом перевода: 137,6 816
0001 0011 0111 , 0110 1010 1000
1
3
7
,
6

8
Ответ: 467,325 8  137,6816 .
13. 6 DFE 216   8 Перевести с использованием промежуточной системы
счисления.
6 DFE 216  0110 1101 1111 1110 0010  001 101 101 111 111 100 010  1557742 8
Ответ: 6 DFE 216  1557742 8
14. 3 AB 7916   8 Перевести с использованием промежуточной системы
счисления.
3 AB 7916  0011 1010 1011 0111 1001  000 111 010 101 101 111 001  7255718
Ответ: 3 AB 7916  7255718
26104 8   16
15.
Перевести с использованием промежуточной системы
счисления.
26104 8  010 110 001 000 100  0010 1100 0100 0100  2C 4416
Ответ: 26104 8  2C 4416
Примеры решения задач для выполнения алгебраического сложения
Сложение с фиксированной запятой
1. Выполнить алгебр. сложение чисел в обратном коде, при решении использовать
модифицированные коды, разрядная сетка 9 бит.
 110011 101101
11.0110011 11.0101101 числа в разрядной сетке в прямом коде
11.1001100 11.1010010  числа в обратном коде

11.1001100

11.0011110
1 учет переноса из старшего разряда
11.1010010
11.0011111
11.1100000
результат отрицательный в о.к.
результат в п.к.
Ответ: -1100000.
2. Выполнить алгебр. сложение чисел в дополнительном коде, при решении
использовать модифицированные коды, разрядная сетка 10 бит.
 101010  110001
11.00101010 00.00110001  числа в разрядной сетке в прямом коде

11.11010101 инверсия
1
11.11010110 образование дополнительного кода

11.11010110
00.00110001
1  00.00000111 число положительное  д.к.  о.к.
Ответ: +111.
Сложение с плавающей запятой
3.
Выполнить сложение чисел, представленных в формате с плавающей запятой
  0,111111  2 7
  0,10101  2 4 ;
в обратном коде, m=8 разрядов, p=4 разряда.
m  00,101010
m  11,111111
Запись мантисс в п.к.
m   00,101010
m о.к.  11,000000
Запись мантисс в о.к.
p   0,100
p  0,111 ; ∆p=3, p   p
Проверка и выравнивание порядков
Порядок у числа A меньше, следовательно требуется выполнить сдвиг мантиссы на
∆p разрядов вправо, т.е. выполнить увеличение порядка: m о.к.  00,000101 , p   0,111
Сложение мантисс и проверка на нарушение нормализации результата
11,000000

00,000101
11,000101 нарушения нормализац ии нет
11,111010
m п.к.  11,111010 p   0,111
Ответ:  0,111010  2 7
4.
Выполнить сложение чисел, представленных в формате с плавающей запятой
  0,110101  2 2 ;   0,1110  2 0
в дополнительном коде, m=8 разрядов, p=4
разряда.
m  00,110101
m  11,111000
Запись мантисс в п.к.
m д.к.  00,110101
m д.к.  11,001000
Запись мантисс в д.к.
p   0,000 ; ∆p=2, p   p
p   1,010
Проверка и выравнивание порядков
Порядок у числа A меньше, следовательно требуется выполнить сдвиг мантиссы на
∆p разрядов вправо, т.е. выполнить увеличение порядка: m д.к.  00,001101 , p   0,000
Сложение мантисс и проверка на нарушение нормализации результата
11,001000

00,001101
11,010101 нарушения нормализац ии нет
11,101011
п.к.
m п.к.  11,101011 p   0,000
Ответ:  0,101011  2 0
Примеры сложения с плавающей запятой, где наблюдается нарушение
нормализации
Примеры: Выполнить сложение чисел, представленных в формате с плавающей запятой
  0,1000  2 3 ;
  0,1011  2 3
1.
в дополнительном коде, m=6 разрядов,
p=4 разряда.
m  00,1000
m  11,1011
Запись мантисс в п.к.
p   1,011
p  1,011 ; ∆p=0, p   p
Проверка и выравнивание порядков
m д.к.  00,1000 m д.к.  11,0101
Запись мантисс в д.к.
Сложение мантисс и проверка на нарушение нормализации результата
00,1000
 11,0101
11,1101
нарушение нормализац ии справа

сдвиг на 2 разряда влево (до первого нуля )
в д.к. при сдвиге влево на свободное место вдвигаются нули (см. таблицу )
11,0100
m 
m 
порядок уменьшается на сдвинутое количество разрядов  p   1,101
 д.к .
 11,1011
p   1,101
 п.к .
 11,1100
p   1,101
Ответ:  0,1100  2 5
2.
  0,111110  2 5 ;   0,110111  2 5
m=8 разрядов, p=4 разряда.
Запись мантисс в п.к.
m  00,111110
m  00,110111
p   0,101
p  0,101 ; ∆p=0, p   p
Проверка и выравнивание порядков
Сложение мантисс и проверка на нарушение нормализации результата
00,111110
 00,110111
01,110101
нарушение нормализац ии слева, результат  1

сдвиг на 1 разряда вправо (до получения числа  2 1 )
в п.к. при сдвиге вправо на свободное место вдвигаются нули (см. таблицу )
00,111010
m 
 п.к .
порядок увеличивае тся на сдвинутое количество разрядов  p   0,110
 00,111010
p   0,110
Ответ:  0,111010  2 6
3.
  0,101  2 5
  0,1001  2 3 ;
в обратном коде, m=8 разрядов, p=4 разряда.
m  00,101000
m  11,100100
Запись мантисс в п.к.
m о.к.  00,101000
m о.к.  11,011011
Запись мантисс в о.к.
p   0,011
p  0,101 ; ∆p=2, p   p
Проверка и выравнивание порядков
Порядок числа А меньше, следовательно требуется выполнить сдвиг мантиссы на
∆p разрядов вправо, т.е. выполнить увеличение порядка: m о.к.  11,110110 , p   0,101
Сложение мантисс и проверка на нарушение нормализации результата
11,110110
00,101000
 00,011110
1
00,011111

00,111110
m 
 п.к .
нарушение нормализац ии справа
сдвиг на 1 разряд влево (до первой 1)
в п.к. при сдвиге влево на свободное место вдвигаются 0 (см. таблицу )
порядок уменьшается на сдвинутое количество разрядов  p   0,100
 00,111110
Ответ:  0,111110  2 4
p   0,100
Примеры решения задач с использованием кода прямого замещения (2/10 кода)
Двоично-десятичные коды
Числа в кодах такого типа представляются двоичными тетрадами соответствующих
десятичных цифр.
Двоично-десятичный код (2/10) – код прямого замещения; код 8421
10 код 2/10
код
0
0000
1
0001
2
0010
3
0011
4
0100
10 код
5
6
7
8
9
2/10
код
0101
0110
0111
1000
1001
10 код
Остальные
комбинации 10
10 – 15 11
запрещенные 12
13
15
2/10
код
1010
1011
1100
1101
1110
10 код
15
2/10
код
1111
Преобразование числа в обратный код
1. Запись отрицательного числа в прямом коде
2. Добавление тетрады + 0110 во все тетрады числа из п.1
- Сложение
3. Инверсия полученной в п.2. суммы
- Это и есть результат – число в обратном
коде.
Преобразование числа в дополнительный код
1. Выполнить операции 1-3 из преобразования в обратный код
2. В младшую тетраду добавить + 0001
- Результат сложения – число в
дополнительном коде.
При преобразовании в обратный или дополнительный код результат не корректируется.
Преобразование в прямой код из обратного или дополнительного кода происходит
аналогично.
Правила выполнения арифметических операций
Коррекция результата потетрадного сложения путем добавления поправки + 0110
требуется в случае, если :
1. Был перенос в старшую тетраду
2. Возникают запрещенные комбинации
При коррекции разрешен межтетрадный перенос.
Например: 279 + 581 = 860
Сначала выполняется сумма, а потом, если требуется – коррекция
0. 0010 0111 1001

0. 0101 1000 0001
0. 0111 1111 1010

0110 0110 внесение корр. из  за запрещ. комб.
0. 1000 0110 0000 результат  860
пример, где требуется коррекция при возникновении переноса и запрещенных
комбинаций одновременно.
689+579=1268


0.
0110
0.
0.
0101
0111
1001
1100  0000  0010
0110
0110
0110 внесение корр. из  за запрещ. комб и переноса
0. 0001 0010
1000
0110
1001
1000
результат  1268
1. Используя код прямого замещения (двоично-десятичный код) выполнить
алгебр. сложение в обратном коде
 1239
 934
1. 0001 0010 0011 1001 ; 0. 0000 1001 0011 0100  п.к.
Перевод в обратный код
1. 0001 0010 0011 1001 прямой код числа

0110 0110 0110 0110 поправка
1. 0111 1000 1001 1111 далее  инверсия
1. 1000 0111 0110 0000 результат в обратном коде
Сложение
0. 0000
1001 0011 0100

1. 1000
0111 0110 0000
1. 1001  0000 1001 0100

0110
поправка
1. 1001
0110 1001 0100 результат в о.к.
Перевод в прямой код
1. 1001 0110 1001 0100
результат в о.к.

0110 0110 0110 0110
поправка
1. 1111 1100 1111 1010
1. 0000 0011 0000 0101 прямой код числа

0
3
0
5
Стрелка показывает наличие межтетрадного переноса.
2. Используя код прямого замещения (двоично-десятичный код) выполнить
алгебр. сложение в дополнительном коде
 9588
 29
1. 1001 0101 1000 1000 ; 0. 0000 0000 0010 1001  п.к.
Перевод в дополнител ьный код

1. 1001 0101 1000 1000 прямой код числа
0110 0110 0110 0110 поправка

1. 1111 1011 1110 1110

1. 0110 0110 1000 1111
1. 0000 0100 0001 0001 инверсия
0001
1. 0000 0100 0001 0010
1. 0000 0000 0010 1001 прямой код числа
0110 0110 0110 0110 поправка

результат в д. к.
1. 1001 1001
0111 0000 инверсия
0001
1. 1001 1001
0111 0001
Сложение
1. 0000 0100 0001 0010

1. 1001 1001 0111 0001


0. 1001 1101 1000
0011 3 тетрада  запр. комб.
0110
0. 1010 0011 1000
поправка
0011 4 тетрада  запр. комб.
поправка
0110
1. 0000 0011 1000
Перевод в прямой код
0011
результат в д. к.
0011
результат в д.к.
0110 0110 0110 0110
1. 0110 1001 1110 1001
поправка
1. 1001 0110
инверсия

1. 0000

0011 1000
0001 0110
0001
1. 1001 0110

9
6
0001 0111 прямой код числа
1
7
результат в д. к.
Download