Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Интересная задачка / 6 сообщений из 6, страница 1 из 1
10.06.2010, 07:28:53
    #36679705
Kosoblik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка
Добрый день!
Существует следующая битовая маска (красная), (синий цвет - разряды):
10101
43210
По ним получаем число 2 0 + 2 2 + 2 4 = 21 (если цифра, соответствующая разряду = 1, то увеличиваем на 2 в степени разряда. Если 0 - то ничего не делаем).
Как по этой конечной цифре 21, узнать 0 или 1 содержался в определенном разряде?

Заранее благодарю за ответ.
...
Рейтинг: 0 / 0
10.06.2010, 08:06:25
    #36679719
Вечность
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка
KosoblikДобрый день!
Существует следующая битовая маска (красная), (синий цвет - разряды):
10101
43210
По ним получаем число 2 0 + 2 2 + 2 4 = 21 (если цифра, соответствующая разряду = 1, то увеличиваем на 2 в степени разряда. Если 0 - то ничего не делаем).
Как по этой конечной цифре 21, узнать 0 или 1 содержался в определенном разряде?

Заранее благодарю за ответ.
Дели N+1 раза "конечную цифру" пополам нацело. Остаток от последнего деления равен биту в "определённом разряде" (N - его номер).
...
Рейтинг: 0 / 0
10.06.2010, 09:19:17
    #36679775
Mozok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка
Вечность,

Можно сразу поделить на 2 N+1 . Если результат нечетный, бит был равен 1.
...
Рейтинг: 0 / 0
10.06.2010, 09:21:38
    #36679779
Mozok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка
Вечность,

прошу прощения, на 2 N .
...
Рейтинг: 0 / 0
10.06.2010, 10:18:24
    #36679874
Mozok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка
Вечность,

что, по сути, одно и то же.
...
Рейтинг: 0 / 0
11.06.2010, 09:47:36
    #36682023
Kosoblik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка
В PL/SQL нашел функцию BITAND. Она разгребает это все дело...
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Интересная задачка / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]