Как разделить BitArray

Мне нужно разделить BitArray (из std.bitmanip) на половинки. До сих пор я обнаружил, что нарезка не реализована, итерация по нему и добавление или назначение неизменно приводит к исключению вне диапазона. Я пытался преобразовать его в какой-то другой тип (он подходит для long / ulong), но это кажется слишком большой проблемой, и это также дает мне исключение вне диапазона, когда я пытаюсь запустить новые BitArrays, как показано ниже:

BitArray[] C, D;
long lg = toLong(bitArr);
C[0].init(cast(void[])((lg >> 28) & 0x0fff_ffff), 28);

Есть ли более простое решение моей проблемы? Если нет, то что я делаю не так?

5
задан Byakkun 24 June 2011 в 14:14
поделиться