Изменение порядка битов в C #:
byte ReverseByte(byte b)
{
byte r = 0;
for(int i=0; i<8; i++)
{
int mask = 1 << i;
int bit = (b & mask) >> i;
int reversedMask = bit << (7 - i);
r |= (byte)reversedMask;
}
return r;
}
Я уверен, что есть более умные способы сделать это, но в этом конкретном случае вопрос интервью предназначен для определения, знаете ли вы побитовые операции, поэтому я думаю, что это решение подойдет.
В интервью интервьюер обычно хочет узнать, как вы находите решение, каковы ваши навыки решения проблем, чистое ли оно или взломанное. Так что не придумайте слишком умного решения, потому что вероятно означает, что вы нашли его где-то в Интернете заранее. Не пытайтесь притворяться, что вы этого тоже не знаете, и что вы просто придумали ответ, потому что вы гений, это будет еще хуже, если она поймет, поскольку вы в основном лжете.