bhg50
?>

Вычисли сумму s=∑k=1nk+1k2+1, если значение n вводит пользователь. Если n=9, то вывод на экран (ответ округли до сотых)

Информатика

Ответы

Anton661
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)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вычисли сумму s=∑k=1nk+1k2+1, если значение n вводит пользователь. Если n=9, то вывод на экран (ответ округли до сотых)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Vlad Petr531
Ka-shop2791
aniramix
namik120939
Korneeva1856
randat887040
Olenkalebedeva4477
Aleksandrovich_Mitoyan1138
Leon-12
andreevaanastsiyao82
rusart3
БашуроваОльга369
Людмила902
akbmaslafarkop3175
director