Побитовые сдвиги.

Здесь обсуждаем Arduino
Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Побитовые сдвиги.

Сообщение GhostX » 20 фев 2016, 01:39

Давненько тут тишина...
Назрела маленькая неразбириха с ключами.
вот у нас ключ
Byte key = 0x01;
далее у нас условий 9 шт.
дергая по битику добрались до 0x80
то есть
0000 0001
0000 0010
...
0100 0000
1000 0000
А дальше меня выручило
0000 0000
варианты
типа 1000 0001
не прокатывали. Компилятор то пропускал все вариации, но в реальности все не работало. Доходит до первого двойного бита (1000 0001) это я не знаю как правильно назвать. И все переставало работать. Я пробовал ставить двойные биты выше по условиям. И на тех местах все ломалось.
для более конкретного объяснения код можно посмотреть вот тут. В конце.
Вопрос: А так вообще допустимо?
PS Кино про биты пересмотрел до дыр. Там очень подробно описана работа с одним (1) битом из всей переменной.
одновременно 2 поменять без проблем, но использовать как ключ, почему то не получается...

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Побитовые сдвиги.

Сообщение gurvinok » 20 фев 2016, 16:17

А int key = 0x0001; использовать не получиться?
Это будет 0000000000000001
Аж 16 флагов.
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Побитовые сдвиги.

Сообщение GhostX » 20 фев 2016, 17:12

без проблем, можно и float подключить на 32.
Суть вопроса, не как решить проблему с нехваткой флажков, а можно ли пользоваться сразу двойными или тройными
То есть срабатывать если ключ имеет только такой вид 1000 0001, а не на любой из имеющихся бит.
я понимаю, что там основная задумка жесткой привязки каждого битика. Ключ какой бы не был, но главное, чтоб нужный бил в правильном положении стоял. Остальное по барабану.
у меня задача была не сразу все их использовать, а по порядку. В принципе можно присваивать ключу не биты, а просто число от 0 до 255 и получится наверное тоже самое, что я хочу на битах сыграть.
Но интерес именно, в игре с битами!

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Побитовые сдвиги.

Сообщение gurvinok » 20 фев 2016, 17:26

float не подойдет! А вот почему даю самому подумать. Если нужно флажков больше 8, то можно использовать числа от 0 до 255. И того 256 флажков.
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Побитовые сдвиги.

Сообщение GhostX » 20 фев 2016, 21:34

видимо из за точки... хотя как оно внутри устроено, я честно говоря не знаю. По факту она же тоже из битиков состоит.... Не знаю. Надо будет попозже изучить этот вопрос.
А по поводу 0-255 я про это написал сам. интересовали именно битики. У меня с ними контры сяду, разберусь, все понятно, тут же другой пример беру и опять как баран на новые ворота. Но прогресс есть. Нужна только практика, практика и еще раз практика. Поэтому и полез глубже. Хотя что то внутри подсказывает, что так все же можно делать, только с двойной проверкой битиков. Надо будет поэкспериментировать. Я вижел студию поставил и в ней подобные примерчики потихоньку проверяю. Но пока тоже тяжко. Как в глухую деревню Китая попал, ничего не понятно... :)

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Побитовые сдвиги.

Сообщение gurvinok » 20 фев 2016, 22:14

Про студию могу кине снять, но не сейчас. Тут дел теперь кучу делать надо. ближе к весне.
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Побитовые сдвиги.

Сообщение GhostX » 20 фев 2016, 22:52

Кине, я всегда рад.))
Как будет время, не к спеху.
Хотя я чуток начал вроде бы плавать в си, но студия, это на половину новый мир.

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Побитовые сдвиги.

Сообщение gurvinok » 20 фев 2016, 22:53

там нет ничего сложного. Стоит только начать и как ком накатается.
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Побитовые сдвиги.

Сообщение GhostX » 20 фев 2016, 22:58

Писать под винду сложнее, чем для контролера. Как минимум какой то api надо знать. Знаю, что там расписаны толи методы толи функции, так в общих чертах. Даже не открывал ни разу.

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Побитовые сдвиги.

Сообщение gurvinok » 21 фев 2016, 09:25

MSDN называется.
Если долго мучиться, может быть получится.

Ответить