Помогите написать функцию, которая в качестве аргумента принимает булевый массив состоящий из 16 членов, после преобразует этот массив в двоичный код и на выходе даёт unsigned short в восьмеричном представлении?
unsigned short binary_to_short(bool input[]) {
unsigned short result = 0;
for (size_t i = 0; i < 16; ++i) {
result |= (input[i] << i); //берём бит на i-ой позиции, сдвигаем его на i, добавляем к числу.
}
return result;
}