В-14
Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления. В задании д получить пять знаков после запятой в двоичном представлении.
Теоретические сведения:
Один из алгоритмов получения двоичного числа из десятичного можно описать следующим образом:
Исходное десятичное число делится на два (основание двоичной системы счисления).
В одну переменную записывается частное в виде целого числа, в другую – остаток в виде строки (если остатка нет, то записывается ноль).
Если частное не было равно нулю, то оно снова делится на два. Переменная, связанная со старым частным связывается с новым (прежнее частное теряется). Новый остаток с помощью операции конкатенации добавляется в начало строковой переменной, где хранятся остатки.
п. 3 продолжает повторяться до тех пор, пока частное не станет равно нулю.
Остатки от деления, записанные в обратном порядке, представляют собой двоичное представление заданного десятичного числа.
В случае перевода чисел из десятичной системы счисления в восьмеричную и шестнадцатеричную системы счисления алгоритм действий остается таким же. Но десятичное число делиться на 8 и 16 в соответствии с основанием системы счисления, в которую осуществляется перевод, а деление продолжается до тех пор, пока в результате не получиться частное равное 0 и остаток меньше 8 (при переводе в восьмеричную систему счисления) или меньше 16 (при переводе в шестнадцатеричную систему счисления).
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:
Вначале переводится целая часть десятичной дроби в двоичную систему счисления по представленному выше алгоритму;
Затем дробная часть десятичной дроби умножается на основание двоичной системы счисления;
В полученном произведении выделяется целая часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной системе счисления;
Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются с предыдущего шага.
В случае перевода дробного числа из десятичной системы счисления в восьмеричную и шестнадцатеричную системы счисления алгоритм действий остается таким же. Но дробная часть десятичной дроби умножается уже на 8 или 16 в соответствии с основанием системы счисления, в которую осуществляется перевод.
Решение:
а) 104710 = 100000101112
_ 1047 2
1046 _ 523 2
1 522 _ 261 2
1 260 _ 130 2
1 130 _ 65 2
64 _ 32 2
1 32 _ 16 2
0 16 _ 8 2
0 8 _4 2
0 4 _ 2 2
0 2 1
0
104710 = 20278
_ 1047 8
1040 _130 8
7 128 _16 8
2 16 2
0
104710 = 41716
_ 1047 16
1040 _65 16
7 64 4
1
б) 33510 = 1010011112
_ 335 2
334 _ 167 2
1 166 _ 83 2
1 82 _ 41 2
1 40 _ 20 2
1 20 _ 10 2
0 10 _ 5 2
0 4 _ 2 2
1 2 1
0
33510 = 5178
_ 335 8
328 _41 8
7 40 5
1
33510 = 14F16
_ 335 16
320 _ 20 16
15 16 1
4
в) 814,510 = 1100101110,12
_ 814 2
814 _ 407 2
0 406 _ 203 2
1 202 _101 2
1 100 _ 50 2
1 50 _25 2
0 24 _ 12 2
1 12 _ 6 2
0 6 _3 2
0 2 1
1
0,5 × 2 = 1,00
814,510 = 1456,48
_ 814 8
808 _ 101 8
6 96 _ 12 8
5 8 1
4
0,5 × 8 = 4,00
814,510 = 32E,816
_ 814 16
800 _ 50 16
14 48 3
2
0,5 × 16 = 8,00
г) 518,62510 = 1000000110,1012
_ 518 2
518 _ 259 2
0 258 _ 129 2
1 128 _ 64 2
1 64 _ 32 2
0 32 _16 2
0 16 _ 8 2
0 8 _ 4 2
0 4 _2 2
0 2 1
0
0,625 × 2 =1,25
0,25 × 2 = 0,50
0,5 × 2 = 1,00
518,62510 = 1006,58
_ 518 8
512 _ 64 8
6 64 _ 8 8
0 8 1
0
0,625 × 8 = 5,00
518,62510 = 206,A16
_ 518 16
512 _ 32 16
6 32 2
0
0,625 × 16 = 10 = А
д) 198,9110 = 11000110,111012
_ 198 2
198 _ 99 2
0 98 _ 49 2
1 48 _ 24 2
1 24 _ 12 2
0 12 _ 6 2
0 6 _ 3 2
0 2 1
1
0,91 × 2 = 1,82
0,82 × 2 = 1,64
0,64 × 2 = 1,28
0,28 × 2 = 0,56
0,56 × 2 = 1,12
198,9110 = 306,72172708
_ 198 8
192 _ 24 8
6 24 3
0
0,91 × 8 = 7,28
0,28 × 8 = 2,24
0,24 × 8 = 1,92
0,92 × 8 = 7,36
0,36 × 8 = 2,88
0,88 × 8 = 7,04
0,04 × 8 = 0,32
198,9110 = C6,E8F5C216
_ 198 16
192 12
6
0,91 × 16 = 14,56 (14 = E)
0,56 × 16 = 8,96
0,96 × 16 = 15,36 (15 = F)
0,36 × 16 = 5,76
0,76 × 16 = 12,16 (12 = C)
0,16 × 16 = 2,56
Перевести данное число в десятичную систему счисления.
Теоретические сведения:
При переводе чисел из двоичной, восьмеричной или шестнадцатеричной систем счисления в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и в дробной части, начиная с разряда сразу после запятой слева направо (начальный номер -1). Затем вычислить сумму произведений соответствующих значений разрядов на основание системы счисления в степени, равной номеру разряда. Это и есть представление исходного числа в десятичной системе счисления.
Решение:
а) 11011000002 = 86410
11011000002 = 1×29+1×28+0×27+1×26+1×25+0×24+0×23+0×22+0×21+0×20 = 512 +256+0+64+32+0+0+0+0+0 = 86410
б) 1000010102 = 26610
1000010102 = 1×28+0×27+0×26+0×25+0×24+1×23+0×22+1×21+0×20 = 256+0+0+0+0 + 8+0+2+0 = 26610
в) 10110101012 = 72510
10110101012 = 1×29+0×28+1×27+1×26+0×25+1×24+0×23+1×22+0×21+1×20 = 512+0+ 128+64+0+16+0+4+1 =72510
г) 1010011111,11012 = 671,812510
1010011111,11012 = 1×29+0×28+1×27+0×26+0×25+1×24+1×23+1×22+1×21+1×20+ 1×2-1+1×2-2+0×2-3+1×2-4 = 512+0+128+0+0+16+8+4+2+1+0,5+0,25+0+0,0625 = 671,812510
д) 452,638 = 298,79687510
452,638 = 4×82+5×81+2×80+6×8-1+3×8-2 = 256+40+2+0,75+0,046875 = 298,79687510
е) 1E7,0816 = 487,0312510
1E7,0816 = 1×162+14(E)×161+7×160+0×16-1+8×16-2 = 256+224+7+0+0,03125 = 487,0312510
Сложить числа. Проверить правильность вычислений переводом исходных данных и вычислений в десятичную систему счисления.
Теоретические сведения:
При сложении двух чисел в системе счисления с основанием q необходимо записать их столбиком одно над другим так, чтобы соответствующие разряды одного слагаемого располагался под соответствующими разрядами другого слагаемого. Сложение производится поразрядно справа налево, начиная с младших разрядов слагаемых.
Рассмотрим сложение в разряде с номером i. Введем обозначения: ai и bi - цифры соответственно первого и второго слагаемых i -го разряда, pi -признак переноса единицы из i - 1 разряда в i-ый разряд. Признак переноса pi равен 1, если в i -1 разряде сформирована единица переноса в i-ый разряд и равен 0 в противном случае. Всегда: p 0 =0. Найдем сумму: S = a + b + pi; a и b - десятичные числа, которые соответствуют цифрам ai и bi. Сложение производиться в десятичной системе счисления.
Возможны два случая: 1) S = q. Из S вычтем основание системы счисления q. Сформируем признак переноса pi+1 в следующий i +1 разряд, равный 1. Разности, полученной в результате вычитания, поставим в соответствие цифру si системы счисления с основанием q. 2) S < q. Сформируем признак переноса pi+1 в следующий i +1 разряд, равный 0. Поставим в соответствие десятичному числу S цифру si системы счисления с основанием q. Полученная цифра si является цифрой i -го разряда суммы. Аналогично производится сложение в каждом разряде.
Решение:
а) 11011001012+1000100012
10001110110
Ответ: 11011001012+1000100012 = 100011101102
Проверка:
11011001012= 1×29+1×28+0×27+1×26+1×25+0×24+0×23+1×22+0×21+ 1×20 = 512+256+0+64+32+0+0+4+0+1 = 86910
1000100012 = 1×28+0×27+0×26+0×25+1×24+0×23+0×22+0×21+1×20 = 256+0+ 0+0+16+0+0+0+1 = 27310
100011101102 = 1×210+0×29+0×28+0×27+1×26+1×25+1×24+0×23+1×22+1×21+ 0×20 = 1024+0+0+0+64+32+16+0+4+2+0 = 114210
86910+27310 = 114210
б) 11000112+1101110112
1000011110
Ответ: 1101110112+11000112 = 10000111102
Проверка:
11000112= 1×26+1×25+0×24+0×23+0×22+1×21+1×20 = 64+32+0+0+0+2+1 = 9910
1101110112 = 1×28+1×27+0×26+1×25+1×24+1×23+0×22+1×21+1×20 = 256+128+ 0+32+16+8+0+2+1 = 44310
10000111102 = 1×29+0×28+0×27+0×26+0×25+1×24+1×23+1×22+1×21+0×20 = 512+0+0+0+0+16+8+4+2+0 = 54210
9910+44310 = 54210
в) 1010101001,012+10011110,112
1101001000,00
Ответ: 1010101001,012+10011110,112= 1101001000,002
Проверка:
1010101001,012 = 1×29+0×28+1×27+0×26+1×25+0×24+1×23 +0×22+0×21+1×20 +0×2-1+1×2-2 = 512+0+128+0+32+0+8+0+0+1+0+0,25 = 681,2510
10011110,112 = 1×27+0×26+0×25+1×24+1×23+1×22+1×21+0×20+1×2-1 +1×2-2 = 128+ 0+0+16+8+4+2+0+0,5+0,25 = 158,7510
1101001000,002 = 1×29+1×28+0×27+1×26+0×25+0×24+1×23+0×22+0×21+0×20+ 0×2-1 +0×2-2= 512+256+0+64+0+0+8+0+0+0+0+0 = 84010
681,2510+158,7510 = 84010
г) 1672,28+266,28
2160,4
Ответ: 1672,28+266,28= 2160,48
Проверка:
1672,28 = 1×83+6×82+7×81+2×80+2×8-1 = 512+384+56+0,25 = 954,2510
266,28 = 2×82+6×81+6×80+2×8-1 =128+48+6+0,25 = 182,2510
2160,48 = 2×83+1×82+6×81+0×80+4×8-1 = 1024+64+48+0+0,5 = 1136,510
954,2510+182,2510 = 1136,510
д) 18B,A16+2E9,216
474,C
Ответ: 18B,A16+2E9,216 = 474,C16
Проверка:
18B,A16 = 1×162+8×161+11(B)×160+10(A)×16-1= 256+128+11+0,625 = 395,62510
2E9,216 = 2×162+14(E)×161+9×160+2×16-1= 512+224+9+ 0,125 = 745,12510
474,C16 = 4×162+7×161+4×160+12(C)×16-1= 1024+112+4+ 0,75 = 1140,7510
395,62510+745,12510 = 1140,7510
Выполнить вычитание. Проверить правильность вычислений переводом исходных данных и вычислений в десятичную систему счисления.
Теоретические сведения:
Для того чтобы вычесть числа в системе счисления с основанием q , необходимо записать одно число под другим столбиком, чтобы разряды вычитаемого располагались под соответствующими разрядами уменьшаемого. Вычитание производиться поразрядно, начиная с младшего разряда.
Рассмотрим вычитание в i -ом разряде. Введем обозначения: ai и bi - цифры соответствующие уменьшаемому и вычитаемому i -го разряда, p - признак единицы заёма в i –ом разряде. Признак заёма p равен - 1, если возникла необходимость в заёме единицы в i + 1 разряде и признак pi равен 0 в противном случае. Для нулевого разряда всегда выполняется p 0 =0. Поставим в соответствии ai и bi десятичные числа a и b. Найдем значение выражения R = a - b + p .
Возможны два случая : 1) R < 0. Признаку заема присвоим значение равное –1: pi+1 = -1, т.е. возникает заем единицы из следующего разряд а. Найдем сумму R + q. Полученной сумме поставим в соответствие цифру ri системы счисления с основанием q. 2) R = 0 . Значению r необходимо поставить в соответствие цифру ri. Признаку заема присвоить значение равное нулю: pi+1 = 0. Полученная цифра ri является цифрой i -го разряда разности. Аналогично производится вычитание в каждом разряде.
Решение:
а) 11101110112 – 1001101112
1010000100
Ответ: 11101110112 – 1001101112 = 10100001002
Проверка:
11101110112 = 1×29+1×28+1×27+0×26+1×25+1×24+1×23 +0×22+1×21+1×20 = 512+256+128+0+32+16+8+0+2+1 = 95510
1001101112 = 1×28+0×27+0×26+1×25+1×24+0×23+1×22+1×21+1×20= 256+ 0+0+32+16+0+4+2+1 = 31110
10100001002 = 1×29+0×28+1×27+0×26+0×25+0×24+0×23+1×22+0×21+0×20 = 512+0+128+0+0+0+0+4+0+0= 64410
95510 – 31110 = 64410
б) 11100001012 – 10011102
1100110111
Ответ: 11100001012 – 10011102 = 11001101112
Проверка:
11100001012 = 1×29+1×28+1×27+0×26+0×25+0×24+0×23 +1×22+0×21+1×20 = 512+256+128+0+0+0+0+4+0+1 = 90110
10011102 = 1×26+0×25+0×24+1×23+1×22+1×21+0×20= 64+ 0+0+8+4+2+0 = 7810
11001101112 = 1×29+1×28+0×27+0×26+1×25+1×24+0×23+1×22+1×21+1×20 = 512+256+0+0+32+16+0+4+2+1= 82310
90110 – 7810 = 82310
в) 1011110100,00112 – 101001011,0012
110101001,0001
Ответ: 1011110100,00112 – 101001011,0012 = 110101001,00012
Проверка:
1011110100,00112= 1×29+0×28+1×27+1×26+1×25+1×24+0×23 +1×22+0×21+0×20 +0×2-1 +0×2-2+1×2-3+1×2-4 = 512+0+128+64+32+16+0+4+0+0+0+0+0,125+
0,0625 = 756,187510
101001011,0012 = 1×28+0×27+1×26+0×25+0×24+1×23 +0×22+1×21+1×20 +0×2-1 +0×2-2+1×2-3 = 256+0+64+0+0+8+0+2+1+0+0+0,125 = 331,12510
110101001,00012= 1×28+1×27+0×26+1×25+0×24+1×23 +0×22+0×21+1×20 +0×2-1 +0×2-2+0×2-3+1×2-4 = 256+128+0+32+0+8+0+0+1+0+0+0 +0,0625 = 425,062510
756,187510 –331,12510 = 425,062510
г) 1560,228 – 1142,28
416,02
Ответ: 1560,228 – 1142,28= 416,028
Проверка:
1560,228 = 1×83+5×82+6×81+0×80+2×8-1+2×8-2 = 512+320+48+0,25+0,03125 = 880,2812510
1142,2 8 = 1×83+1×82+4×81+2×80+2×8-1=512+64+32+2+0,25 = 610,2510
416,028 = 4×82+1×81+6×80+0×8-1+2×8-2 = 256+8+48+0+0,03125 = 270,0312510
880,2812510+610,2510= 270,0312510
д) 1A5,816 – 7D,A16
127,E
Ответ: 1A5,816 – 7D,A16 = 127,E 16
Проверка:
1A5,816 = 1×162+10(A)×161+5×160+8×16-1 = 256+160+5+0,5 = 421,510
7D,A16 = 7×161+13(D)×160+10(A)×16-1 = 112+13+ 0,625 = 125,62510
127,E16 = 1×162+2×161+7×160+14(E)×16-1= 256+32+7+ 0,875 = 295,87510
421,510 – 125,62510 = 295,87510
Выполнить умножение. Проверить правильность вычислений переводом исходных данных и вычислений в десятичную систему счисления.
Теоретические сведения:
Для выполнения умножения в различных системах счисления необходимо иметь соответствующие таблицы умножения. Для двоичной, восьмиричной и шестнадцатиричной систем счисления таблицы представлены ниже.
Рисунок 1 – Таблица умножения для двоичной системы счисления
Рисунок 2 – Таблица умножения для восьмеричной системы счисления
Рисунок 3 – Таблица умножения для шестнадцатеричной системы счисления
Решение:
а) 1111002×1111002
000000
000000
111100
111100
111100
111100
111000010000
Ответ: 1111002×1111002 = 1110000100002
Проверка:
1111002 = 1×25+1×24+1×23+1×22+0×21+0×20= 32+ 16+8+4+0+0 = 6010
1110000100002 = 1×211+1×210+1×29+0×28+0×27+0×26+0×25+1×24+0×23+0×22+0×21+0×20 = 2048+1024+512+0+0+0+0+16+0+0+0+0= 360010
6010 × 6010 = 360010
б) 274,58×31,348
13624
10657
2745
10657
11276,114
Ответ: 274,58×31,348= 11276,1148
Проверка:
274,58 = 2×82+7×81+4×80+5×8-1= 128+56+4+0,625 = 188,62510
31,348 = 3×81+1×80+3×8-1+4×8-2 =24+1+0,375+0,0625= 25,437510
11276,1148= 1×84+1×83+2×82+7×81+6×80+1×8-1+1×8-2+4×8-3 = 4096+512+128+56+6+0,125+0,015625+0,0078125= 4798,148437510
188,62510×25,437510= 4798,148437510
в) 13,416×38,4816
9A0
4D0
9A0
39C
43B,6A0
Ответ: 13,416×38,4816= 43B,6A16
Проверка:
13,416= 1×161+3×160+4×16-1 = 16+3+0,25 = 19,2510
38,4816= 3×161+8×160+4×16-1+8×16-2 = 48+8+0,25+ 0,03125= 56,2812510
43B,6A16= 4×162+3×161+11(B)×160+6×16-1+10(A)×16-2 = 1024+48+11+ 0,375+0,0390625= 1083,4140625 10
19,2510×56,2812510= 1083,4140625 10
Выполнить деление. Проверить правильность вычислений переводом исходных данных и вычислений в десятичную систему счисления.
Теоретические сведения:
Для выполнения деления можно использовать таблицы умножения, представленные на рисунках 1, 2 и 3.
Решение:
a) 100111011002 : 11102
_10011101100 1110
1110 1011010
_10110
1110
_10001
1110
_1110
1110
0
Ответ: 100111011002 : 11102= 10110102
Проверка:
100111011002 = 1×210+0×29+0×28+1×27+1×26+1×25+0×24+1×23+1×22+0×21+ 0×20 = 1024+0+0+128+64+32+0+8+4+0+0= 126010
11102 = 1×23+1×22+1×21+0×20= 8+4+2+0 = 1410
10110102 = 1×26+0×25+1×24+1×23+0×22+1×21+0×20 = 64+0+16+8+0+2+0= 9010
126010 × 1410 = 9010
б) 14368 : 238
_1436 23
137 52
_46
46
0
Ответ: 14368 : 238= 52 8
Проверка:
14368= 1×83+4×82+3×81+6×80 = 512+256+24+6 = 79810
238 = 2×81+3×80 = 16+3= 1910
528= 5×81+2×80 = 40+2= 4210
79810: 1910= 4210
в) CD616 : 1F16
_CD6 1F
BA 6A
_136 _
136
0
Ответ: CD616 : 1F16= 6A16
Проверка:
CD616= 12(C)×162+D(13)×161+6×160= 3072+208+6 = 328610
1F16= 1×161+15(F)×160 = 16+15= 3110
6A16= 6×161+10(A)×160 = 96+10= 106 10
328610 : 3110= 106 10
Список литературы
1. Ковриженко, Г. А. Системы счисления и двоичная арифметика: Радянська школа, 1984. – 82 с.
2. Арифметические операции в позиционных системах счисления, электронное пособие http://www.5byte.ru
3. Дидактические материалы по информатике и математике http://comp-science.narod.ru
Контрольная работа выполнена 25.10.2011
studfiles.net
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет ФНиДО
Специальность ПОИТ
Контрольная работа № 1
по дисциплине «Основы компьютерной техники»
часть 1
Вариант № 19
Выполнил студент: Ломский Д. А.
группа 001022
Зачетная книжка № 001022-19
Минск 2010
Задание №1.1
Найти значение С1, С2, С3, С4, определяемые выражениями:
С1 = А+В, С2 = А-В, С3 = В- А+, С4 =- А -В, где А=+6078 и В=-2102
Представим числа в двоично-десятичной системе:
A= 607810 = 0110 0000 0111 10002;
B= -210210 = 0010 0001 0000 00102.
Избавляемся от операции вычитания в заданных выражениях:
C1 = A+B, C2= A+(-B), C3 = B+(-A), C4=(-A)+(-B)
В выражении участвуют следующие величины: A, B, -A, -B.
Представим эти величины в прямом и дополнительном коде:
[A]пк = 0. 0110 0000 0111 1000;
[-A]пк = 1. 0110 0000 0111 1000;
[B]пк = 1. 0010 0001 0000 0010;
[-B]пк= 0. 0010 0001 0000 0010;
[A]дк= [A]пр;
[-A]дк= 1. 1001 1111 1000 1000;
[B]дк = 1. 1101 1110 1111 1110;
[-B]дк = [ -B]пр.
Найдём значение C1:
0. 0110 0000 0111 1000 - [A] дк
+
1. 1101 1110 1111 1110 - [B]дк
0. 0011 1111 0111 0110
+ 1010 - коррекция
0. 0011 1001 0111 0110 - [C1]дк = [C1]пк
C2:
0. 0110 0000 0111 1000 - [A]дк
+
0. 0010 0001 0000 0010 - [-B]дк
0. 1000 0001 0111 1010
+ 0110 - коррекция
0. 1000 0001 1000 0000
С3:
1. 1101 1110 1111 1110
+
1. 1001 1111 1000 1000
1. 0111 1110 1000 0110
+
1010 - коррекция
1. 0111 1110 1000 0000 - [C3]дк
1. 1000 0001 1000 0000 - [C3]пк
C4:
1. 1001 1111 1000 1000 - [-A]дк
+ 0. 0010 0001 0000 0010 - [-B]дк
1. 1100 0000 1000 1010
+ 0110 - коррекция
1. 1100 0110 1000 1010 - [C4]дк
1. 0011 1001 0111 0110 - [C4]пк
Задание 1.2
Дано:
А -{ап = +2 (порядок А), ам = - 0.7 (мантисса А)}; В -{bп = -2 (порядок B), bм = +0.9 (мантисса B)}; использовать двоичный обратный код; выполнить деление с восстановлением остатка .
Решение:
Знак искомого произведения будет отрицательный, так как знаки мантисс сомножителей не одинаковые.
Предварительное значение порядка [С3 п*]ок частного определяется следующим образом:
С3п`=а п - в п :
00.010 [а п]мок
+00.010 [в п] мок
00.100 [С3 п`] мок, т.е. [С3п`] пк = 0.011.
В процессе поиска значений разрядов частного будут использованы числа |A|, |В|, (-|В|), представление которых в модифицированном обратном коде имеет вид:
[|A|]мок = 00.101101
[|В|]мок = 00.111010
[-|В|]мок =11.000101.
Абсолютное значение предварительного значения мантиссы частного ищется за счёт выполнения 8-ми тактов (n+2) деления следующим образом:
Определяемый разряд частного | Выполняемые действия | Значение очередного разряда частного | ||
1-й такт | 00. 101101 +11. 000101 11. 110010 +00.111010 00.101101 + 1 00.101101 | 0 | ||
2-й такт | 01.011010 +11.000101 00.011111 + 1 00.100000 | 1 | ||
3-й такт | 01.000000 +11.000101 00.000101 + 1 00.000110 | 1 | ||
4-й такт | 00.001100 +11.000101 11.010001 +00.111010 00.001011 + 1 00.001100 | 0 | ||
5-й такт | 00.011000 +11.000101 11.011101 + 00.111010 00.010111 + 1 00.011000 | 0 | ||
6-й такт | 00.110000 +11.000101 11.110101 +00.111010 00.101111 + 1 00.110000 | 0 | ||
7-й такт | 01.100000 +11.000101 00.100101 + 1 00.100110 | 1 | ||
8-й такт | 01.001100 +11.000101 00.010001 + 1 00.010010 | 1 |
Таким образом [С3м`]п=0.1100011, а после округления с учётом ранее полученного знака [С3м`]п=1.110010.
[С3м]пк=1.110010,
[С3п]пк=0.011.
studfiles.net
Министерство образования Рэспублики Белорусь
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»
Факультет заочного и дистанционного обучения
Факультет: НиДО
Специальность: ПОИТ
КОНТРОЛЬНАЯ РАБОТА №1
По ОСНОВАМ КОМПЬЮТЕРНОЙ ТЕХНИКИ
Вариант № 15
Студент_1_ курса:
Групы №
Зачетная книжка №
Email:
Минск, 2012
Задание 1.1
Найти значение выражений С1 = А + В, С2 = А – В, С3 = В – А,
С4 = - А – В, используя модифицированный дополнительный код, если
А10 = + 8788, В10= - 99.
При выполнении задания операнды А и В представить в двоично-десятичной системе счисления. Результат представить в прямом коде.
Решение.
Избавляясь от операции вычитания, приводим заданные выражения к виду:
С1 = А + В, С2 = А + (- В), С3 = В + (- А), С4 = - А + (- В).
Прямой двоично-десятичный код заданных чисел имеет вид:
;
;
;
;
;
:
Модифицированный инверсный и дополнительный двоично-десятичный код заданных чисел имеет вид:
;
;
;
.
Расчет выражений для С1, С2, С3, С4 осуществляется следующим образом.
С1 = А + В:
* *
00.1000 0111 1000 1000 -
11.1111 1111 0110 0111 -
00.1000 0110 1110 1111
1010 1010 - коррекция
00.1000 0110 1000 1001
+ 8 6 8 9 - С110(десятичный эквивалент).
Формирование С2 и С3, в выражениях которых в операции сложения принимают участие числа с одинаковыми знаками, осуществляется за счет сложения абсолютных значений операндов с последующим присвоением полученной суммы знака одного из операндов.
Таким образом, для определения С2 и С3 выполняются следующие действия:
:
* *
00.1000 0111 1000 1000 -
00.0000 0000 1001 1001 -
00.1000 1000 0010 0001
0110 0110 - коррекция
00.1000 1000 1000 0111 –
+ 8 8 8 7 - С210(десятичный эквивалент)
- 8 8 8 7 - С310(десятичный эквивалент)
С4 = - А + (- В):
* *
11.0111 1000 0111 1000 -
00.0000 0000 1001 1001 -
11.0111 1001 0001 0001
0110 0110 - коррекция
11.0111 1001 0111 0111
- 8 6 8 9 - С410(десятичный эквивалент)
Ответ: ,,
,.
Задание 1.2
Найти произведение С чисел А и В, представленных с плавающей точкой, используя обратный код, если А и В представлены в виде порядков, соответственно [ап] и [вп] и мантисс, соответственно [ам] и [вм], где
[ап] = - 210, [ам]= + 0,5610,
[вп]= 010,[вм]= - 0,5110.
При умножении мантисс использовать метод умножения, начиная со старшего разряда множителя со сдвигом множителя.
При выполнении задания порядки и мантиссы операндов А и В необходимо представить в двоичной системе счисления и сформировать для них прямые коды. Разрядность модуля порядка должна быть равна 3, разрядность модуля мантиссы – 6.
Результат (порядок и мантисса) должен быть представлен в прямом коде в нормализованной форме.
Решение.
Переведем числа в двоичную систему счисления, учитывая, что разрядность модуля порядка должна быть равна 3, разрядность модуля мантиссы – 6:
:
0,56 * 2 = 1,12 (int(0,56 * 2) = 1 и DF (rest(0,56 * 2) = 0.12)
0,12 * 2 = 0,24 (int(0,12 * 2) = 0 и DF (rest(0,12 * 2) = 0,24)
0,24 * 2 = 0,48 (int(0,24 * 2) = 0 и DF (rest(0,24 * 2) = 0,48)
0,48 * 2 = 0,96 (int(0,48 * 2) = 0 и DF (rest(0,48 * 2) = 0,96)
0,96 * 2 = 1,92 (int(0,96 * 2) = 1 и DF (rest(0,96 * 2) = 0,92)
0,92 * 2 = 1,84 (int(0,92 * 2) = 1 и DF (rest(0,92 * 2) = 0,84)
0,84 * 2 = 1,68 (int(0,84 * 2) = 1 и DF (rest(0,84 * 2) = 0,68)
:
0,51 * 2 = 1,02 (int(0,51 * 2) = 1 и DF (rest(0,51 * 2) = 0,02)
0,02 * 2 = 0,04 (int(0,02 * 2) = 0 и DF (rest(0,02 * 2) = 0,04)
0,04 * 2 = 0,08 (int(0,04 * 2) = 0 и DF (rest(0,04 * 2) = 0,08)
0,08 * 2 = 0,16 (int(0,08 * 2) = 0 и DF (rest(0,08 * 2) = 0,16)
0,16 * 2 = 0,32 (int(0,16 * 2) = 0 и DF (rest(0,16 * 2) = 0,32)
0,32 * 2 = 0,64 (int(0,32 * 2) = 0 и DF (rest(0,32 * 2) = 0,64)
0,64 * 2 = 1,28 (int(0,64 * 2) = 1 и DF (rest(0,64 * 2) = 0,28)
.
Таким образом:
;
;
;.
Знак искомого произведения, представляемого знаком его мантиссы, отрицательный, так как знаки мантисс сомножителей неодинаковые.
Учитывая то, что при умножении мантисс может произойти нарушение нормализации, найдем предварительное значение порядка и мантиссы искомого произведения.
Предварительное значение порядка произведения определим следующим образом:
сп= а п+ в п:
11.101 -
00.000 -
11.101 -
1.010 -
Абсолютное значение предварительного значения мантиссы произведения определяется как произведение мантисс операндов (:
0.100100 -
0.100001 -
000000 – начальное значение частичного произведения
+ 100100 – 1-й старший разряд равен единице
100100 – формирование частичного произведения
+ 000000 – 2-й старший разряд равен нулю
1001000 – формирование частичного произведения
+ 000000 – 3-й старший разряд равен нулю
10010000 – формирование частичного произведения
+ 000000 – 4-й старший разряд равен нулю
100100000 – формирование частичного произведения
+ 000000 – 5-й старший разряд равен нулю
1001000000 – формирование частичного произведения
+ 100100 – 6-й старший разряд равен единице
10010100100 – абсолютное значение предварительного значения мантиссы
произведения
010010100100 - сдвинутое значение предварительного значения мантиссы произведения
Таким образом, с учетом округления имеем:
Мантисса произведения ненормализованная, поэтому необходимо сдвинуть мантиссу влево на один разряд, а предварительное значение порядка произведения уменьшить на единицу. После нормализации окончательное значение мантиссы и порядка произведения имеем с учетом ранее полученного знака:
[cм]пк= 1.100110
[cп]пк = 1.011
Ответ: [cм]пк= 1.100110, [cп]пк = 1.011.
studfiles.net