Jovfer's blog

By Jovfer, 8 years ago, In Russian,

Тип bool (boolean итп в различных языках программирования) требует по сути 8 бит на одно значение. Соответственно и время работы с таким массивом неоправданно возрастает. В делфи проблема решалась например так type MyBoolean = array [0 .. (maxn div 256)] of set of byte; с последующей проверкой (i mod 256) in (MyBoolVAR[i div 256]) . Все это работает за приемлемое время и расходует нужный объем памяти. Вопрос в следующем: как реализовать что-либо подобное в с/с++ ? Пробовал bitset, set, просто работал с побитовыми сдвигами над unsigned char. Добивался желаемого расхода памяти (~ 1 бит / логическое значение), но время работы оставляло желать лучшего...

 
 
 
 
  • Vote: I like it
  • +6
  • Vote: I do not like it