怎么把两个uint8_t的变量存到uint16_t的变量里,其中一个uint_8占uint16_t的高八位,另一个占低八位
时间: 2023-08-12 12:01:15 浏览: 168
code uint8-t *p-flash 与uint8-t code *p-flash的区别
可以使用位运算和类型转换来实现将两个 `uint8_t` 类型的变量存储到一个 `uint16_t` 类型变量的高八位和低八位中。
下面是一个示例代码:
```cpp
uint8_t highByte = 0xAB; // 高八位
uint8_t lowByte = 0xCD; // 低八位
uint16_t combinedValue = ((uint16_t)highByte << 8) | lowByte;
```
在这个示例中,我们首先将 `highByte` 强制转换为 `uint16_t` 类型,然后将其左移 8 位,使其占据 `uint16_t` 变量的高八位。接着,我们使用按位或操作符 `|` 将 `lowByte` 存储在 `combinedValue` 的低八位中。
最终,`combinedValue` 的高八位将是 `highByte` 的值(0xAB),低八位将是 `lowByte` 的值(0xCD)。
阅读全文