| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > побитовое сложение чисел |
| Автор: boni 30.9.2004, 16:21 |
| Есть задание: есть два целых числа в некой системе исчисления. Надо их сложить, так чтобы: 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 | ||
Создаем АСМовую вставку, в которой: Переводим в BCD Выполняем поразрядное сложение Не забываем AAA после каждого сложения |
| Автор: LuckLess 30.9.2004, 21:13 |
| если результат вылетел в новый разряд , то результат сложения(без учета вылетевшего разряда) всегда будет меньше чем любое слагаемое. Таким образом можно проверить на вылетание безо всяких asm-ов. и да , " произвести побитовое сложение" . С переносом или нет? |