![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 29.04.2009
Сообщений: 29
|
![]()
Подскажите пожалуйста, что делают эти операции? Не могу понять, что делает этот цикл - while((tmp <<= 1) <= num);
Последний раз редактировалось dollemika; 19.06.2012 в 20:22. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
знаковый (если не ошибаюсь) битовый сдвиг влево/вправо с присваиванием.
Код:
2) если (tmp <= num), выполняем тело while и уходим на шаг 1) 3) иначе обходим while и продолжаем выполенние со следующего оператора вроде так.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 29.04.2009
Сообщений: 29
|
![]()
Дело в том, что это весь while и есть.. Т.е. "тела цикла" так сказать нету
![]() Т.е. операцией <<= мы сдвинули влево на 1 бит и этому биту присваиваем единичку, так? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
иначе цикл можно записать так:
Код:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,427
|
![]() Цитата:
110 {делаем сдвиг влево} 1100 Для расширения кругозора - http://ru.wikipedia.org/wiki/Битовый_сдвиг
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 19.06.2012 в 20:33. |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 29.04.2009
Сообщений: 29
|
![]()
Спасибо большое!
![]() |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
А еще помни, что сдвиг влево на N бит эквивалентен умножению на два в степени N, а сдвиг вправо - делению.
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]() Цитата:
Код:
Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
А как работают антивирусы? | MooNDeaR | Свободное общение | 35 | 04.01.2012 16:21 |
Как работают личные сообщения? | dvuwka | Общие вопросы по программированию, компьютерный форум | 7 | 03.03.2011 18:31 |
как работают and or при пирсваивании?? | maloun | Общие вопросы Delphi | 9 | 08.02.2011 16:58 |
События и делегаты в C# как они работают | _PROGRAMM_ | Общие вопросы .NET | 11 | 04.02.2010 06:44 |
Как работают программы обходящие NAT? | Pedro | Свободное общение | 4 | 20.01.2010 17:20 |