Jump to content

Хочу учебник норм купить, помогите.


vvsh
 Share

Recommended Posts

И так, имеем выражение "$x & 1==1", первое - обращаем внимание на приоритеты операций и делаем вывод: операция ==, выполнится раньше чем &. Значит, после выполнения операции ==, справа будет значение 1, слева 15, 15=1111, 1=0001, 1111 & 0001 = 0001 = 1 = true => выполняется echo "no";

Надеюсь на этот раз не ступиЛ ))) А то мне уже стремно ^_^

Edited by Vialls
Link to comment
Share on other sites

Неправильно. Небольшой совет: попробуй изменить значение $x. Вместо 25, вставь 24. Увидешь, что эта конструкция может выводить и yes в некоторых случаях.

Я знаю что может, если у первого числа младший бит будет установлен в 0. Т.е. $x=14=1110. 1110&0001=0. Вообще не догоняю в чем у меня ошибка??? И не вижу смысла твоей подсказки? Расскрывай карты ^_^

Edited by Vialls
Link to comment
Share on other sites

Ты почти угадал. В первый раз ты все правильно сказал как все происходит, но не сказал для чего это делается, поэтому ответ я твой не засчитал, поскольку рассказать как все происходит мало (это и так на виду), хочется знать зачем это. Это простая проверка четности числа, т.е. деление на 2 без остатка. Я думаю нет такого программиста, который не проверял бы четность числа в своих программах.

В двоичном представлении каждый бит является степенью двойки. Отсчет степени начинается с нуля. Любое число в нулевой степени - это единица. Поэтому сумма всех степеней 2, кроме 0 заведомо будет четно, т.е. будет делиться на 2 без остатка. Поэтому признаком четности будет бит, который представляет собой нулевую степень, т.е. правый крайний. Если он включен, то число не делится на 2 без остатка. Если выключен, то делится. Для проверки включенности правого крайнего бита используется булевая операция И с единицей. Если у числа правый крайний бит включен, то И с единицей даст единицу, если выключен, то даст ноль.

Link to comment
Share on other sites

Ты почти угадал. В первый раз ты все правильно сказал как все происходит, но не сказал для чего это делается, поэтому ответ я твой не засчитал, поскольку рассказать как все происходит мало (это и так на виду), хочется знать зачем это. Это простая проверка четности числа, т.е. деление на 2 без остатка. Я думаю нет такого программиста, который не проверял бы четность числа в своих программах.

В двоичном представлении каждый бит является степенью двойки. Отсчет степени начинается с нуля. Любое число в нулевой степени - это единица. Поэтому сумма всех степеней 2, кроме 0 заведомо будет четно, т.е. будет делиться на 2 без остатка. Поэтому признаком четности будет бит, который представляет собой нулевую степень, т.е. правый крайний. Если он включен, то число не делится на 2 без остатка. Если выключен, то делится. Для проверки включенности правого крайнего бита используется булевая операция И с единицей. Если у числа правый крайний бит включен, то И с единицей даст единицу, если выключен, то даст ноль.

Во жесть!! Я знал это с самого начала, такой алгоритм используется в книге "Изучаем ассемблер - Крупник А.Б", которую читал полгода назад ^_^ А я тут уже синий сижу, разобраться не могу в чем у меня ошибка :P

Link to comment
Share on other sites

Когда мне было 15 лет я уже кое что знал. По крайней мере знал что такое Pascal & BASIC и ковырял BAT-файлы. Только поменьше громких слов, vvsh. Мы не зря тебя тюкаем. Ты просто очень самоуверен.

Edited by Ялекс
Link to comment
Share on other sites

Я годик назад с другом пошел на олимпиаду в универ, там принимало участие около 100 человек 4-ого курса. Я был в шоке!!!! 70% участинков не смогло решить проходной задачи, где нужно было считать из файла 2-а числа и сложить иххх..

Преподавание с++ в моем универе:

"... отрицательные стороны языка: модульность, т.к. в каждой программе нужно писать несколько строк для подключения библиотек" ^_^

Link to comment
Share on other sites

Преподавание с++ в моем универе:

"... отрицательные стороны языка: модульность, т.к. в каждой программе нужно писать несколько строк для подключения библиотек" ^_^

что за идиоты "умники" преподают тебе с++?

Link to comment
Share on other sites

Вот эта книжка достаточно полная

Профессиональное PHP программирование, 2-е издание, 1048 стр (!)

http://www.books.ru/shop/books/84429

По моему наблюдению, лучшие программисты получаются как раз из математиков. Мышление у них близкое и логике учат к тому же.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy