из двух 8-битных чисел. Нужно склеить два 8-битных числа в одно 16-битное(под склеить я имею ввиду что биты должны распологаться также последовательно)
При попытке каста у меня биты меняются местами в непонятно порядке(первые два вывода дают что надо. Третий выдает кашу). Я сначало подумал, это что-то с le be, но потом понял что нет(биты все же встают не в том порядке). Как это называется и как сделать то что я хочу не применяя битовые операции? Если это возможно
std::cout << to_binary(*(std::uint8_t*)&SettedLines4);
std::cout << to_binary(((std::uint8_t*)&SettedLines4)[1]) << std::endl;
std::cout << to_binary(*(std::uint16_t*)&SettedLines4);
uint16_t res = ((uint16_t)SettedLines4[1] << 8) ^ SettedLines4[0]; в зависимости от кода, кладущего числа в этот массив, коррекция для LE/BE может потребоваться или нет
А как же static_cast, что за си стайл ? ))
Ну чтож поделать, таков путь )
Обсуждают сегодня