Государственное образовательное учреждение высшего профессионального образования
Сибирский государственный университет телекоммуникаций и информатики
Колледж телекоммуникаций и информатики
СОГЛАСОВАНО Председатель цикловой комиссии «________________________» ______________ «___»___________года
|
УТВЕРЖДАЮ Заместитель директора по учебной работе __________Е.Н.Хаова «___»___________года |
Расчетно-графическое задание Взаимный перевод чисел. Двоичная арифметика.
По дисциплине Вычислительная техника
Специальности 090108 «Информационная безопасность»
230103 «Автоматизированные системы
обработки информации и управления в связи»
__________________________
Базовый уровень СПО
Группа И-801
Студент Сидоров П.П.
Преподаватель Иванов В.С.
Новосибирск
2011
ЗАДАНИЕ
1. Записать без пробелов свои ФамилиюИмяОтчество.
2. Взять любые 16 символов из этой последовательности. Вместо каждого символа записать его младшую цифру ASCII-кода. Разбить на две части по 8 цифр в каждой. Полученные H-коды рассматривать как два четырехбайтных числа в шестнадцатеричной системе счисления.
3. Определить числовые значения исходных шестнадцатеричных чисел (перевести исходные числа в десятичную систему счисления). Пояснить процедуру перевода.
4. Записать двоичное представление исходных (шестнадцатеричных) чисел (перевести их в двоичную систему счисления). Пояснить процедуру перехода.
5. Для последующих арифметических операций образовать из исходных чисел двоичные числа с нулевым старшим битом (если старший бит в исходном числе равен единице, то его заменить на нуль!).
6. Выполнить действия сложения (вычитания) двоичных (шестнадцатеричных) чисел в дополнительном коде при всех возможных сочетаниях знаков слагаемых. Проверить правильность результатов. Объяснить несоответствия, если имеются.
7. Записать значения положительных и отрицательных десятичных чисел (п. 4) в упакованном BCD и неупакованном BCD форматах. Показать размещение в памяти ЭВМ с адреса 0C.
Пример выполнения
1. Запишем свою Фамилию Имя Отчество без пробелов: ОсиповПетрОлегович.
2. Возьмём первые 16 символов из этой последовательности и получим следующую последовательность символов: ОсиповПетрОлегов. Вместо каждого символа запишем его младшую цифру ASCII-кода:
О с и п о в П е т р О л е г о в
E 1 8 F E 2 F 5 2 0 E 8 5 3 E 2
Разобьем получившуюся последовательность на две части по 8 цифр в каждой:
E 1 8 F E 2 F 5
2 0 E 8 5 3 E 2
Будем рассматривать получившиеся H-коды как два четырех байтных числа в шестнадцатеричной системе счисления.
1-е число: E 1 8 F E 2 F 5
2-е число: 2 0 E 8 5 3 E 2
3. Переведем данные числа в десятичную систему счисления по формуле , где p – основание исходной системы счисления, в нашем случае мы переводим из шестнадцатеричной системы счисления т.е. р=16, ai – цифра исходного числа.
Переведём первое число:
E18FE2F516 = 5*160 + 15*161 + 2*162 + 14*163 + 15*164 + 8*165 + 1*166 + 14*167 = 378430334910
Переведём второе число:
20E853E216 = 2*160 + 14*161 + 3*162 + 5*163 + 8*164 + 14*165 + 0*166 + + 2*167 = 55209673810
4. Переведем полученные шестнадцатеричные числа в двоичную систему счисления, сопоставив каждой цифре H-кода 4 цифры двоичного кода.
Переведём первое число:
516 = 01012; F16 = 11112; 216 = 00102; E16 = 11102; F16 = 11112; 816 = 10002;
116 = 00002; E16 = 11102
Получаем E18FE2F516 = 111000011000111111100010111101012
Переведём второе число:
216 = 00102; E16 = 11102; 316 = 01012; 516 = 10012; 816 = 10002; E16 = 11102;
016 = 00002; 216 = 00102
Получаем 20E853E216 = 001000001110100001010011111000102
5. Для последующих арифметических операций образуем из исходных чисел двоичные числа с нулевым старшим битом. Заменим в исходном первом числе старший бит на нуль, а второе число оставим без изменений. Переведя числа получим:
Первое число а1 = 011000011000111111100010111101012
Второе число а2 = 001000001110100001010011111000102
6. Выполним действия сложения (вычитания) двоичных (шестнадцатеричных) чисел в дополнительном коде при всех возможных сочетаниях знаков слагаемых, для этого представим числа +а1,+а2,–а1,–а2 в дополнительный коде, используя правило:
А, если число положительное
Aдоп =
Аобр+1, если число отрицательное
После перевода получим представление чисел в дополнительном коде:
+а1 = 0 11000011000111111100010111101012
+а2 = 0 01000001110100001010011111000102
–a1 = 1 00111100111000000011101000010112
–a2 = 1 10111110001011110101100000111102
Выполним действие а1+а2:
0 1100001100011111110001011110101
+
0 0100000111010000101001111100010
_______________________________________
1 0000010011110000011011011010111
Проверим правильность полученного результата, выполнив действия сложения чисел а1 и а2 в десятичной системе счисления:
а1 = 163681970110
а2 = 55209673810
Выполним действие а1+а2 = 1636819701 + 552096738 = 2188916439.
Результат переведём в двоичную систему счисления и запишем его в дополнительном коде:
218891643910 =0 100000100111100000110110110101112
Данный результат не совпал c дополнительным кодом суммы чисел +а1 и +а2 равным 1 00000100111100000110110110101112.
Мы получили неверный результат при сложении в дополнительном коде. Это произошло из-за переполнения, возникшего при выполнении действия а1+а2 в дополнительном коде. Чтобы избежать переполнения, нужно каждое из положительных чисел +а1 и +а2 дополнить нулeм слева, т.е.
+а1 = 0 011000011000111111100010111101012
+а2 = 0 001000001110100001010011111000102
0 01100001100011111110001011110101
+
0 00100000111010000101001111100010
____________________________________________
0 10000010011110000011011011010111
Данный результат сложения чисел +а1 и +а2 в дополнительном коде совпал с результатом сложения этих же чисел в десятичной системе счисления, произведённым выше.
После исправления получаем представление чисел в дополнительном коде:
+а1 = 0 011000011000111111100010111101012
+а2 = 0 001000001110100001010011111000102
–a1 = 1 100111100111000000011101000010112
–a2 = 1 110111110001011110101100000111102
Выполним действие а1–а2= а1+(–а2):
0 01100001100011111110001011110101
+
1 11011111000101111010110000011110
_______________________________________
( 1) 0 01000000101001111000111100010011
Проверим правильность полученного результата, выполнив действия сложения чисел а1 и – а2 в десятичной системе счисления. Выполним действие а1–а2 = 1636819701 – 552096738 = 1084722963.
Результат переведём в двоичную систему счисления и запишем его в дополнительном коде:
108472296310 =0 010000001010011110001111000100112
Данный результат совпал с дополнительным кодом разности чисел +а1–а2, полученным раннее.
Знак переноса (1) игнорируем, результат вычитания положительный.
Выполним действие а2–а1 = а2+(–а1):
0 00100000111010000101001111100010
+
1 10011110011100000001110100001011
_______________________________________
1 10111111010110000111000011101101
Преобразуем полученный отрицательный результат в дополнительный код:
1 01000000101001111000111100010011
Проверим правильность полученного результата, выполнив действия сложения чисел а2 и – а1 в десятичной системе счисления Выполним действие а2–а1=552 096 738 – 1 636 819 701= – 1 084 722 963.
Результат переведём в двоичную систему счисления и запишем его в дополнительном коде:
–1 084 722 96310 =1 101111110101100001110000111011012
Данный результат совпал с дополнительным кодом разности чисел +а2–а1, полученным раннее.
Выполним действие –а1–а2 = –а1+(–а2):
1 10011110011100000001110100001011
+
1 11011111000101111010110000011110
_______________________________________
(1) 1 01111101100001111100100100101001
Преобразуем полученный отрицательный результат в дополнительный код:
1 10000010011110000011011011010111
Проверим правильность полученного результата, выполнив действия сложения чисел – а2 и – а1 в десятичной системе счисления Выполним действие –а2–а1=
= – 1636819701 + (– 552096738) = – 2188916439.
Результат переведём в двоичную систему счисления и запишем его в дополнительном коде:
–218891643910 = 1 100000100111100000110110110101112
Данный результат сложения чисел –а1 и –а2 в дополнительном коде совпал с результатом сложения этих же чисел в десятеричной системе счисления, произведённым выше.
7. Запишем десятичные числа а1 и 2 упакованном и неупакованном форматах.
а1 = 163681970110
а2 = 55209673810
Запишем их в упакованном и неупакованном форматах.