avva: (Default)
[personal profile] avva
Эту запись имеет смысл читать только тем, кто знает язык программирования C.

Мне его выдал форчун, уже не в первый раз, и я решил на этот раз записать. Если вам
нечего делать, разгадывайте, что делает этот код с 32-битным числом n:

n = ((n >> 1) & 0x55555555) | ((n << 1) & 0xaaaaaaaa);
n = ((n >> 2) & 0x33333333) | ((n << 2) & 0xcccccccc);
n = ((n >> 4) & 0x0f0f0f0f) | ((n << 4) & 0xf0f0f0f0);
n = ((n >> 8) & 0x00ff00ff) | ((n << 8) & 0xff00ff00);
n = ((n >> 16) & 0x0000ffff) | ((n << 16) & 0xffff0000);


Update: [livejournal.com profile] 37 нашёл отличную ссылку по теме.

æàëü...

Date: 2001-09-10 01:39 pm (UTC)
From: [identity profile] silpol.livejournal.com
ïðèéäåòñÿ ñàìîìó ðèñîâàòü... î! íå! êîëëåãó ïîäîáüþ ;) îí òî÷íî êóïèòüñÿ ãîíÿòü íà ðàçíîì... ó íàñ ïîõîæåå - packets assembling/disassembling ;)

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 28th, 2025 01:47 pm
Powered by Dreamwidth Studios