В6: различия между версиями
Строка 1: | Строка 1: | ||
− | '''''B6. Переменные X, X1, X2, X3 имеют размер – байт, тип - знаковый. В 16-тиричной системе счисления X1 = A316, X2 = 7E16, X3 = B116. | + | '''''B6. Переменные X, X1, X2, X3 имеют размер – байт, тип - знаковый. |
− | Значение выражения X = (X1-X2)*X3 в 10 ричной системе счисления равно __-107__''''' | + | В 16-тиричной системе счисления X1 = A316, X2 = 7E16, X3 = B116. |
+ | Значение выражения X = (X1-X2)*X3 в 10 - ричной системе счисления | ||
+ | равно __-107__''''' | ||
Переведем X1, X2, X3 в двоичную систему счисления | Переведем X1, X2, X3 в двоичную систему счисления | ||
+ | |||
X1 = A316=10100011 | X1 = A316=10100011 | ||
X2 = 7E 16=1111110 | X2 = 7E 16=1111110 | ||
X3 = B116=10110001 | X3 = B116=10110001 | ||
− | По условию все переменные - восьмибитовые знаковые, т.е. представляют число в дополнительном коде. | + | |
+ | По условию все переменные - восьмибитовые знаковые, | ||
+ | т.е. представляют число в дополнительном коде. | ||
Запишем числа в дополнительном коде: | Запишем числа в дополнительном коде: | ||
Строка 14: | Строка 19: | ||
X3 = B116=01001111 | X3 = B116=01001111 | ||
− | Число Х2 записываем в дополнительном коде - инвертируем все двоичные разряды, затем к младшему разряду прибавляем 1 – получаем 00000001+ 1 = 00000010 | + | Число Х2 записываем в дополнительном коде - инвертируем все двоичные разряды, |
+ | затем к младшему разряду прибавляем 1 – получаем 00000001+ 1 = 00000010 | ||
Выполняем действия: (X1-X2) | Выполняем действия: (X1-X2) | ||
+ | |||
В дополнительном коде это будет поразрядное сложение двоичных чисел: | В дополнительном коде это будет поразрядное сложение двоичных чисел: | ||
+ | |||
10100011 + 00000010= 1010 0101 | 10100011 + 00000010= 1010 0101 | ||
+ | |||
X3 = 01001111 | X3 = 01001111 | ||
− | 01001111* 1010 0101= 11001011101011– оставляем только последние 8 разрядов и получаем Х = 11101011 | + | 01001111* 1010 0101= 11001011101011– оставляем только последние 8 разрядов |
+ | и получаем Х = 11101011 | ||
+ | |||
+ | Так как мы работаем в дополнительных кодах, | ||
+ | то старший разряд имеет вес -27 (т.к. первый разряд знаковый, он равен 1, что соответствует знаку /-/) и | ||
− | |||
11101011= -2^7+1*2^6+0*2^5+...+1*2+1= -107 | 11101011= -2^7+1*2^6+0*2^5+...+1*2+1= -107 | ||
'''Ответ: -107''' | '''Ответ: -107''' |
Версия 12:36, 27 ноября 2007
B6. Переменные X, X1, X2, X3 имеют размер – байт, тип - знаковый. В 16-тиричной системе счисления X1 = A316, X2 = 7E16, X3 = B116. Значение выражения X = (X1-X2)*X3 в 10 - ричной системе счисления
равно __-107__
Переведем X1, X2, X3 в двоичную систему счисления
X1 = A316=10100011 X2 = 7E 16=1111110 X3 = B116=10110001
По условию все переменные - восьмибитовые знаковые,
т.е. представляют число в дополнительном коде.
Запишем числа в дополнительном коде: X1 = A316=01011101 X2 = 7E 16=00000001 X3 = B116=01001111
Число Х2 записываем в дополнительном коде - инвертируем все двоичные разряды,
затем к младшему разряду прибавляем 1 – получаем 00000001+ 1 = 00000010
Выполняем действия: (X1-X2)
В дополнительном коде это будет поразрядное сложение двоичных чисел:
10100011 + 00000010= 1010 0101
X3 = 01001111
01001111* 1010 0101= 11001011101011– оставляем только последние 8 разрядов и получаем Х = 11101011
Так как мы работаем в дополнительных кодах,
то старший разряд имеет вес -27 (т.к. первый разряд знаковый, он равен 1, что соответствует знаку /-/) и
11101011= -2^7+1*2^6+0*2^5+...+1*2+1= -107
Ответ: -107