Re[7]: Задачи для собеседования.
От: мыщъх США http://nezumi-lab.org
Дата: 25.02.12 00:57
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Здравствуйте, мыщъх, Вы писали:


М>>считаю, что под такую задачу можно искать или матерых хакеров, которые это делают в уме (ну в частности, на вопрос что сие значит (x & ( x + 1)) я ответил не раздумывая. меня даже плюс не смутил (в реальной жизни там минус), но это не потому, что у меня мозги работают с космической скоростью, а потому что этот шаблон я регулярно вижу на протяжении всей моей жизни.


ПМ>У меня другое мнение. Вот спросят меня, "что делает (x & ( x + 1))?" Я ни разу не хакер и эту хрень первый раз в жизни вижу, но что я первым делом начну делать (если интернета нет под рукой)? А начну я выписывать цифекрки:


как бы x & (x — 1) проверка на то, что x это степень двойки. если поменять минус на плюс, то получим проверку, что следующее за x число это степень двойки, а сама x это битовая маска из единиц. это в том случае если результат равен нулю. все остальные случаи мы приравниваем к true.


ПМ>И так до просветления. И что я увижу? Увижу то, что четные цифры оно не трогает, а у нечетных убирает все единички до младшего нуля, что эквивалентно вычитанию чего-то там (ответ зависит от степени моего просветления).


короче ваш ответ таков: "оно там что-то делает с битами"

> А если я по ночам Hacker's Delight читал под одеялом и отвечаю на этот вопрос по памяти,

если вы возились с асмом, контроллерами или хотя бы парсили exe/elf файлы -- вы уже знаете ответ. т.к. первый же макрос который пишется на си это ALIGN_UP/DOWN. да и при разборе файловых систем без него никуда.

> то мне его, наверное, нет особого смысла задавать, проще про коней спросить.

видите? а меня кони поставили в тупик. на бумаге рисовать лень. доски дома нет. разве какую компьютерную программу скачать в ней поэксперементировать? догадываюсь, что задачу можно попытаться решить на фрагменте 8x8, а затем распростанить на всю доску
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.