Leave a comment

microtigra May 18 2021, 23:02:49 UTC

спасибо за способ с XOR, теперь буду пользваться

Reply

lx_photos May 18 2021, 23:07:02 UTC
Третий ещё лучше. Дарю.

Reply

vulturem May 19 2021, 07:22:41 UTC
Это только для самых безбашенных гуру.
Простым смертным такие методы противопоказаны

Reply

microtigra May 19 2021, 04:30:14 UTC
Lol.
Не надо пользоваться 2-м и 3-м способом :-) 3-й это шутка, 2-й был популярен лет 25+ назад, по-приколу. Задумайтесь, что не все переменные - целочисленные, и что переменные со знаком могут по-разному храниться в разных системах. Ну и почитайте как процессор может swap делать.

Reply

gkild May 19 2021, 07:44:21 UTC
У меня 8битный проц, все целые, мне - самое то!
Если, конечно, не учитывать, что п. 2 будет весить раза в два больше (

Reply

microtigra May 19 2021, 13:42:26 UTC

спасибо, отец!

Reply

drgluck07 May 21 2021, 18:32:10 UTC
Способ с XOR можно использовать только в каких-нибудь мелких контроллерах, где вообще всё плохо с быстродействием и памятью. Или если ты молодой и пытаешься выпендриваться. Нормальные люди делают это хотя бы с помощью std::swap.
Если нет необходимости перемалывать гигабайты в секунду, то будет трудно обосновать своп через XOR на кодреваью. Код нужно писать так чтоб он во-первых выполнял поставленную задачу без сайд-эффектов, а во-вторых твои коллеги могли легко его понимать. Тогда жизнь команды становится похожа на рахат-лукум.

Reply


Leave a comment

Up