parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 14.03.2013 07:56 / 14.03.2013 12:43

тут вообще не нужны двоичные числа.

тут подойдут обычные числа.
без разницы, что будет лежать в mysql: строка с двоичным представлением числа 5 (0b101) или само число 5.

работайте с битами на здоровье, но смысла конвертировать числа в 10101010 и обратно -- нет.
ваши комплектующие будут иметь значения 1, 2, 4, 8, 16 итд (попробуйте перевести эти числа в двоичный вид в калькуляторе).

формироваться значение будет так:
 
$h[^accessories.hash[value]]
$value(0)
^form:tables.acc.menu{
	^value.inc(^h.[$form:tables.acc.field].value.int(0))
}
в БД пишите/читаете $value.
проверить, отмечена данная опция можно с помощью битовой операции И (&): ^if($value & 16){отмечана опция со значением 16}

P.S. кстати самое правильное решение -- это как раз доп. таблица, куда будут записываться связи. измените ваш подход и как можно раньше перейдите на такую реализацию. ваш случай -- не тот, где стоит использовать биты

P.P.S любой символ в строке можно получить так: ^строка.mid(pos;1)