![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| jsa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 704 Регистрация: 19.1.2006 Где: Новосибирск Репутация: нет Всего: 20 |
Hi All
есть целое число например 184, в двоичке 10111000, как проверить что 8 бит это еденица, а 7 - ноль, вообще не доганяю -------------------- Все мы, на перине с песней, строим небо на земле © Ю. Шевчук |
|||
|
||||
| Metal_Heart |
|
|||
|
а почему бы и нет? ![]() ![]() Профиль Группа: Участник Сообщений: 728 Регистрация: 31.3.2005 Где: Москва Репутация: 4 Всего: 12 |
Такие элементарные вещи спрашивать
Возможны синтаксические ошибки. Показал только идею, остальное - догадайся сам! -------------------- не стыдно учиться, а стыдно не учиться |
|||
|
||||
| jsa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 704 Регистрация: 19.1.2006 Где: Новосибирск Репутация: нет Всего: 20 |
т.е. если мне нужно проверить 7 бит то нужно
вроде так, но почему именно так? плз, разъясните теорию -------------------- Все мы, на перине с песней, строим небо на земле © Ю. Шевчук |
|||
|
||||
| Metal_Heart |
|
|||
|
а почему бы и нет? ![]() ![]() Профиль Группа: Участник Сообщений: 728 Регистрация: 31.3.2005 Где: Москва Репутация: 4 Всего: 12 |
2^0 = 1 (- 1 бит)
2^1 = 2 (- 2 бит) ... 2^6 = 40h (- 7 бит) 2^7 = 80h (- 8 бит) см. на степень и + 1 к ней .. -------------------- не стыдно учиться, а стыдно не учиться |
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
-------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Логика такая: Исходное число: 156 (в десятичной) = 10011100 (в двоичной) Допустим, мы хотим проверить седьмой бит. Тогда мы используем маску 01000000 (в шестнадцатеричной - 0x80). При использовании логической оперпации И, биты, пересекшиеся с 0, будут сброшены, а с 1 - оставлены неизмененными: 10011100 + 01000000 = 00000000 (или просто 0, т.е. false) Для проверки пятого бита используем 00010000 (0х10): 10011100 + 00010000 = 00010000 (16, т.е. true) Это сообщение отредактировал(а) batigoal - 21.5.2007, 17:28 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| jsa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 704 Регистрация: 19.1.2006 Где: Новосибирск Репутация: нет Всего: 20 |
batigoal, большое сенькс
-------------------- Все мы, на перине с песней, строим небо на земле © Ю. Шевчук |
|||
|
||||
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Самый простой вариант (имхо) такой: Проверка бита (bit) в числе (value) на наличие единицы.
|
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
В джаве такого нет воид не очень вяжется с ретурном Но мысль наглядная -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| olegrolik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 25.1.2006 Репутация: нет Всего: нет |
Да Имелась ввиду конечно же мысль. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |