У меня есть байтовый массив из 32 байтов, где первые 4 бита каждого байта (от 0 до 3) представляют собой установленное или неустановленное состояние числа от 1 до 128. Например, если мне дано число 3, янужно установить бит 2 в первом байте в массиве.Если мне дано число 9, мне нужно установить бит 0 третьего байта в массиве.Проблема в том, что я нашел разумный способ сделать это в C #.Я уверен, что должен быть простой способ сделать это математически, но до сих пор не удалось найти метод.Пока я почесал голову над этим, я подумал, что увижу, может кто-нибудь дать какой-нибудь совет.
--------- Обновление -------------------
На основании полученных ответов я произвел следующую функцию.Это именно то, что мне нужно.Возможно, я не ясно дал понять в своем вопросе, что мне нужно, но мне дали достаточно советов, чтобы найти правильный код.
// outputNumber = number passed into this function
byte[] bytes = new byte[32];
int bit = (outputNumber - 1) % 4;
byte byteSetting = (byte)(1 << bit);
bytes[(outputNumber - 1) / 4] |= byteSetting;