Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как написать функцию, которая принимает bool input[16] и возвращает unsigned short в oct?

Помогите написать функцию, которая в качестве аргумента принимает булевый массив состоящий из 16 членов, после преобразует этот массив в двоичный код и на выходе даёт unsigned short в восьмеричном представлении?

Языки программирования+3
XOMART
  ·   · 250
Первый
Разработчик на C++  · 25 февр 2022  · aismagilov.ru
Я бы написал примерно такую реализацию:
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;
}
Этот код на ideone: https://ideone.com/2xdMcD
Кстати, в момент перед сдвигом, input[i] преобразуется в int https://godbolt.org/z/dWz1qzb4Y