使用C语言将char[0]=0x38,char[1]=0x31转化为uint8_t数组uint[0]=0x81
时间: 2023-11-19 10:04:56 浏览: 75
c#字符数字转换为int数组
5星 · 资源好评率100%
可以使用以下代码实现:
```c
#include <stdio.h>
#include <stdint.h>
int main() {
char ch[] = {0x38, 0x31};
uint8_t ui[sizeof(ch)];
for (int i = 0; i < sizeof(ch); i++) {
ui[i] = ch[i] & 0xFF;
}
printf("char: %02X %02X\n", ch[0], ch[1]);
printf("uint8_t: %02X %02X\n", ui[0], ui[1]);
return 0;
}
```
这里将char数组中的值按位与0xFF,然后赋值给uint8_t数组,以确保没有符号位扩展。输出结果如下:
```
char: 38 31
uint8_t: 81 38
```
阅读全文