If the range of your bit-reversal function is limited to chars, use a lookup table. If your range is bigger, split your data into bytes and then use a lookup.