Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > побитовое сложение чисел


Автор: boni 30.9.2004, 16:21
sad.gif
Есть задание: есть два целых числа в некой системе исчисления. Надо их сложить, так чтобы:
1) вначале перевести в 10ую систему счисления; (нет вопросов)
2) произвести побитовое сложение; (вопрос - как это сделать????)
3) отследить чтобы не было переполнения; (слышал, что первый бит отвечает за знак, если числа при переполнение не влазят, то первая еденичка переходит на место знакового бита. Вопрос-- как это реализовать?)
4) вывести результат в любой другой системе счисления; (нет вопросов)

Плиз, помогите новичку.

Автор: Step 30.9.2004, 16:32
по конкретнее
побитовое сложение - ты имеешь ввиду через ХОR, так при нем не может быть переполнения, либо обыкновенным сложение- тут переполнения можно определить как выход за рамки результата
так например сложив два байта 133 и 133 результат будет двухбайтовый и значение результата будет больше 255....

что ты понимаешь под побитовым сложением

Автор: Royan 30.9.2004, 16:42
Проследить вылетел ли результат в новый разряд или нет можно соответствующей асмовской командой (ее название зависит от того, что ты после этого захочешь сделать).

>произвести побитовое сложение; (вопрос - как это сделать????)
А какие средства в твоем рапоряжении?
>отследить чтобы не было переполнения
и опять же что ты можешь использовать?

Автор: Akina 30.9.2004, 18:23
Цитата
2) произвести побитовое сложение; (вопрос - как это сделать????)
3) отследить чтобы не было переполнения; (слышал, что первый бит отвечает за знак, если числа при переполнение не влазят, то первая еденичка переходит на место знакового бита. Вопрос-- как это реализовать?)

Создаем АСМовую вставку, в которой:
Переводим в BCD
Выполняем поразрядное сложение
Не забываем AAA после каждого сложения

Автор: LuckLess 30.9.2004, 21:13
если результат вылетел в новый разряд , то результат сложения(без учета вылетевшего разряда) всегда будет меньше чем любое слагаемое. Таким образом можно проверить на вылетание безо всяких asm-ов.

и да , " произвести побитовое сложение" . С переносом или нет?


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)