uint8和uint16的转换
时间: 2023-12-01 07:38:40 浏览: 164
字符编码转换,utf16<=> utf8 <=> ascii <=>unicode
将一个16位的无符号整数(uint16)转换为8位的无符号整数(uint8)时,需要注意以下几点:
1. 如果16位整数的值大于255,则转换后的8位整数只能表示低8位的值,高8位的值会被截断。
2. 如果16位整数的值小于等于255,则转换后的8位整数与原始值相等。
下面是一个示例代码,可以将一个uint16类型的变量转换为uint8类型:
```c
uint16_t num16 = 300;
uint8_t num8 = (uint8_t)(num16 & 0xFF);
```
在上面的代码中,我们使用了位运算符&来获取num16变量的低8位,并将其强制转换为uint8类型。
阅读全文