Re: первая задачка

"Sergey V. Spiridonov" <[email protected]> Sun, 18 Apr 2004 02:13:06 +0200
Newsgroups gmane.org.it-ru.germany.general
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[email protected] wrote:

| Задачка про обмен двух
| переменных местами решается
| тремя действиями, что-то
| вроде этого:
|
| b = b + a;
| a = b - a;
| b = b - a;

| ЗЫ: правда, могут быть
| проблемы с сильно большими
| числами, от которых
| переполнятся регистры...

В принципе правильно, хотя переполнение регистров не мешает.
Но с xor красивее и быстрее, и уж точно без переполнения :)

b ^= a;
a ^= b;
b ^= a;

ЗЫ А ты не мог бы мэйлер научить вставлять описание кодировки?

- --
Best regards, Sergey Spiridonov

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFAgcgRJ3NEeIx4r3YRApMXAJ4vH75NtZFBWIa3oftMMN0mysSRuACcCC8f
XmknnNgKRi04Y01RnacXAZE=
=IPqs
-----END PGP SIGNATURE-----