Помогоите найти разность двоичных чисел, плиз...
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Помогоите найти разность двоичных чисел, плиз... - 2009-01-20 09:20:14.456666
|
|
|
interock
Сообщений: 60
Оценки: 0
Присоединился: 2008-11-01 13:09:22.826666
|
Короче, вот описание задачи: найти разность двоичных чисел, заменив операцию вычитания сложением в обратном и дополнительном коде: х=11000 у=1101, если х(пр.)= х(обр) = 0.11000 но "у" надо заменить на отрицательное. Разжуйте пожалуйста алгоритм решения этой задачи, с меня ++
|
|
|
RE: Помогоите найти разность двоичных чисел, плиз... - 2009-01-22 00:52:16.033333
|
|
|
tеstеr
Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
|
Давай сам сделаешь, а я только разжую алгоритм. обратный код - это когда взяли все 1 заменили на 0, а 0 на 1. дополнительный код - взяли обратный код и к нему добавили 1 (столбиком как в 1-м классе). Эти преобразования рименяются только к отрицательным числам (а точннее к вычитаемым) 1-е число: +0001 1000 2-е число: -0000 1101 Задача -перевести 2-е (отрицательное) число в дополнительный код и сложить два числа 1) инвертируем 0000 1101 - получаем ….. 2) то что получили на шаге 1) суммируем с 1, получаем …. 3) то что получили на шаге 2) суммируем с 0001 1000 то что получилось на шаге 3) - это ответ. допустим на шеге 2 получилось число 1111 0111 (у тебя будет другое) тогда суммируя получим + 0001 1000 - первое число + 1111 0111 - второе число ————- 1 0000 1111 Правила сложения просты 0 + 0 = 0 1 + 0 = 1 1 + 1 = 0 (и 1 "в уме"). лишнюю единичку выкидываем - получаем ответ = 1111
|
|
|
|
|