i-zoom
написал 27 апреля 2006 года в 19:52 (853 просмотра)
Ведет себя
неопределенно; открыл 10 тем в форуме, оставил 8 комментариев на сайте.
Наверно детский вопрос, но всё же …
как сделать на С ? получаю какое либо число … скажем 273, требуется узнать , каие биты в представлении данного числа в двоичном виде, установлены в 1.
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark
24/7 SRE & DevOps service to cover all your Kubernetes needs.

Маску наложи с помощью &
и что ?
unsigned n = 273, i = 0; while (n) { if (n & 1) printf("%d bit is set\n", i); n >>= 1; i++; }Feuerbach правильно написал :)
Но обычно задача стоит как «проверить, установлен ли бит такой-то».
Тогда просто делаешь & с маской и переменной. Если вернет 1 — то бит установлен, если 0 — не установлен :)
В общем читай любую книгу по сям в разделе «побитовые операции»