| знак на ассемблере |
[Фев. 27, 2008|11:33 am] |
(эта запись будет интересна только программистам)
Расс Кокс рассказывает о супероптимизации - технике поиска самого быстрого куска кода путем полного перебора инструкций процессора (конечно, это работает только для очень коротких кусков кода). Любопытный пример там - самое быстрое воплощение функции знака (-1, 0 или 1 в зависимости от знака аргумента) на ассемблере 80x86. До такого вручную действительно додуматься нелегко:
cwd neg ax adc dx, dx
Здесь начальный аргумент лежит в ax, значение помещается в dx. Работает следующим образом: сначала cwd расширяет знак ax в dx, после чего в dx лежит -1, если аргумент отрицательный, а иначе 0. neg ax меняет знак ax, но это на самом деле неважно, а важно то, что эта инструкция помещает в флаг carry единицу, только если аргумент был ненулевой.
Наконец adc dx, dx складывает dx с самим собой, добавляет carry от второй инструкции, и помещает результат в dx. В результате выходит:
- если ax<0, то dx вначале -1, carry равен 1, результат равен -1*2+1 = -1 (во как!) - если аx=0, то dx вначале 0, carry равен 0, результат 0*2+0=0 - если ax>0, то dx вначале 0, carry равен 1, результат 0*2+1=1
Красиво! |
|
|
| статус апдейт |
[Фев. 27, 2008|02:49 pm] |
Полторы недели без кофе, полет нормальный.
Ломки как таковой пока не было, и наверное не будет. Но зато открыл для себя заново, что такое сонливость, и что такое, когда неудержимо клонит спать. Забавно: я искренне считал, что кофе на меня более не действует, но, видимо, это было не совсем так. От каждой конкретной чашки мне я действительно не чувствовал себя нисколько бодрее, и не было ни легче, ни тяжелее уснуть после нее; но вместе эти шесть семь ежедневных чашек кофе создавали взвинченность, которая держалась все время и спадала только с трудом. Обычно мне нужно было не меньше десяти минут, чтобы уснуть, а иногда были проблемы с этим; сейчас я проваливаюсь в сон за минуту.
Хотелось бы сказать, что наблюдается какая-то разница в ту или иную сторону в степени собранности, внимательности, продуктивности, итд. но ничего такого пока не замечаю.
Иногда пью чай, специально себя в этом не ограничиваю, но чаще раза в день обычно не выходит. Кофе ни в каком виде пока. |
|
|
| чуть-чуть об английском |
[Фев. 27, 2008|05:10 pm] |
Скопирую сюда совет, который дал в комментах у френда пару дней назад. Неправильная расстановка (обычно просто отсутствие) артиклей - одна из самых узнаваемых черт "русского акцента" в английском. Я не уверен, что этот совет правилен или полезен; я всего лишь попытался передать словами, возможно неудачно, те ощущения, которые у меня стихийно сложились.
"И - не знаю, насколько это полезный совет - существительное вообще стоит воспринимать вместе с артиклем. Т.е. артикль это не отдельное такое слово, которое неизвестно, когда надо, когда не надо - а просто вот есть "a flight", а есть "the flight", почти что разные слова, в разных ситуациях употребляются, и когда пишешь существительное, из того, как ты его используешь, сразу вытекает, какая версия подходит. Если что-то, что раньше не упоминалось, новое, скорее всего с "а", если что-то уже известное из предыдущих слов, или контекста, или уникальное по природе, скорее всего с "the". Если во множественном числе и не знакомое, или если одно из многих исключений и фиксированных выражений, к которым постепенно привыкаешь, то без артикля. Это решение принимаешь, когда о слове думаешь, а не постфактум пытаясь расставить артикли."
Добавлю: стоит стараться развивать в себе внимание к этому. При чтении (например, своих же предложений), слово с неправильным артиклем или без артикля должно ощущаться, как что-то неверное, выбивающееся из ряда, мешающее. Можно сказать себе: слово без артикля просто так не может быть, оно должно этот статус "заслужить". Если нет веских на то причин, у него должен быть артикль, иначе это грубая ошибка. |
|
|
| о компьютерном ханжестве |
[Фев. 27, 2008|09:56 pm] |
|
Вот это прекрасно, конечно: enbreasties - 386 results |
|
|