08.11.2013, 16:56 | #25 (permalink) |
Member
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
26.02.2014, 11:57 | #26 (permalink) |
Member
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
|
Всем доброго времени суток!
Третий день сижу над очередной задачей... Проверить, есть ли в двоичной записи числа n хотя бы один 0. Если 0000...0001111111 - нулей нет... Здесь, я думаю, лучше всего будет так: 1) Ввести переменную n, равную некоторому числу n. 2) Ввести переменные b=1, i=0; c; 3) Найти длину двоичной записи числа n, без нулей старших разрядов, т.е. если n=44, то двоичная запись будет 101100, длина записи равна 6. 4) Организовать цикл: пока i<6, то c=a&b; если c=0, то нули присутствуют, иначе b=b<<1; Вопрос в том, что я не знаю, как найти длину двоичной записи числа... Помогите, пожалуйста... |
26.02.2014, 12:30 | #27 (permalink) | |
Member
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
|
Уф, сделал... Выкладываю...
a - это n, так написал просто... Может, можно как-нибудь сделать покороче? Цитата:
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|