Бесплатный треккер
MP3 новинки для CCBot/2.0
Проще говоря, плюс один
Знаменитая задача: как переставить два числа, не используя третье? Канонически решается так:

A = A + B
B = A − B
A = A − B

Однако ещё быстрее можно так:

A = A xor B
B = A xor B
A = A xor B

Или так:

push А
push B
pop А
pop B

Но я бы писал, использую третью переменную:

tmp = А
A = В
B = tmp

Да-да, пару тактов разбазарю. И, например, вместо INC А напишу А = А + 1. И не потому, что не знаю такие финты, а потому, что любой осёл поймёт, что тут написано. Глаз не зацепится, мозг будет сосредоточен на задаче, а не на способе её достичь.

«Ваша программа должна быть изменяема, иначе вы родили её мертвой», — сказал кто-то известный. Остаётся добавить: «Причём легко».
< предыдущая история | следующая история >
IT happens
На главную
0,0061 сек.
HTML | XHTML
© FaceWAP.Net 2016
WapLog