![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Scorp_Freeman |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Как просуммировать два числа типа INT
без использования любых арифметических операций, а только с использованиемп бинарных операций сдвига, побитовых, сравнительных, логических. Кто то знает как єто можно сделать ? ( |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
int main() ![]() Обычное побитовое "сложение" - берем младшие биты чисел a и b, и "перенос", применяем к ним операцию XOR, и добавляем полученный бит в буферную переменную... После этого пересчитываем "перенос", и сдвигаем операнды направо на один бит... Продолжать, пока одновременно a, b и "перенос" не станут равны 0. В результате в буфере получаем "перевернутое" число, чтобы его "развернуть" - опять же проходим по всем его битам и переписываем их в revert... Сообщение отредактировано: volvo - 15.11.2007 0:41 |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 19:28 |