• На завтра на экзамен, нужна помощь!
    Выполнить операции сложения в дополнительном коде, с проверкой в десятичной системе счисления, для следующих исходных данных (n=8, m=0)
    A= -13 B= -7
    Пожалуйста, с расписанным решением ;(

Ответы 6

  • А проверка тут откуда начинается?
    • Автор:

      collin661
    • 5 лет назад
    • 0
  • а как в десятичной будет? -13 + (-7)= -20 не так?
    • Автор:

      boyd
    • 5 лет назад
    • 0
  • все, поняла, спасибо большое!
    • Автор:

      matteo17
    • 5 лет назад
    • 0
  • Зато я не понял, зачем так сложно было)))
  • для перевода чисел в дополнительный код, нужно:1) перевести в двоичную систему счисления0000 1101            130000 0111             72) инвертировать (заменить 0 на 1 и наоборот)1111 00101111 10003) и прибавить 11111 00111111 1001все)числа в дополнительном коде мы получилитеперь сложение:   1111 0011   1111 1001 +1 1110 1100мы получили переполнение и единицу в старшем разряде, это значит, сумма будет со знаком минустеперь переведем сумму в обычный код, не трогаем старший бит1) _001 0011 инвертируем биты2) _001 0100 прибавим 13) переводим в десятичную систему счисления: 2^{2}+ 2^{4} =  20вспоминаем, что сумма отрицательная, поэтому ответ будет: -20------------для положительных чисел нужно перевести в двоичную системуНапример:2 + 30000 0010 - 20000 0011 - 3и сложить0000 0101 -  2^{2}  + 2^{1} = 2 + 4 = 6у положительных дополнительный код совпадает с прямым кодом
    • Автор:

      damari
    • 5 лет назад
    • 0
  • n=8 в задании, насколько я понимаю, означает решение для восьмибитного представления данных, т.е. для случай, когда левый бит отводится под знак (0 - плюс, 1 - минус), а семь правых битов используются для представления числа.Отрицательное число представляется в дополнительном коде, т.е. нули заменяются единицами (и единицы - нулями), а потом в младшем разряде к полученному числу прибавляется единица.Вначале перевод.-13(10)=-0001101(2)Инвертируем биты: 1110010Прибавляем единицу: 1110011И дописываем слева 1 в качестве знака. 1 1110011Аналогичным образом поступаем и с числом -7:-7(10)=-0000111(2)Инвертируем биты: 1111000Прибавляем единицу: 1111001И дописываем слева 1 в качестве знака. 1 1111001Теперь сложение. Выполняем его в столбик для всех восьми бит.   11110011+ 11111001  -------------   11101100У нас при сложении появилась единица переноса из левого разряда, но дальше уже разрядов нет и она просто отбрасывается.Результат получился с единичным знаковым разрядом. Поэтому для получения величины результата поступаем в обратном порядке: отделяем семь правых бит, вычитаем единицу и снова инвертируем полученное значение. Вместо единичного знакового разряда приписываем числу знак минус.1101100 - 1 = 1101011. Инверсия: 0010100, результат -10100(2)=-20(10)
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years