uint8_t *和char*的相互转换 以及 uint8_t * 和int16_t*的相互转换
这个怎么弄啊 我才学C语言,谢谢。
[解决办法]
uint8_t 无符号8bit整型数
int16_t 有符号16bit整形数
个人意见 我不敢保证 仅供参考
没问题吧 就比如
char c = 2;
int tmd;
tmd = (int )c;
或者
int c = 444;
char tmd;
tmd = (char)c;
大了向小的转换没问题 小的向大的转换有问题 无符号向有符号之间的转换要小心
[解决办法]
就是 我有一段空间 就是一个数组 假如
int a = 0x111111ff; 16进制
int * p = a;
这个指针p保存的是a的地址对吧
*p 的值就是0x111111ff吧 拿出4个字节
之后我就玩转换了
uint8_t * p2;
p2 = (uint8_t *)p;
我访存的时候 就是按无符号8bit拿出值
*p2 就是我拿出的值 0xff吧
uint8_t * p3;
p3 = (uint16_t *)p;
我访存的时候 就是按无符号8bit拿出值
*p3 就是我拿出的值 0x11ff吧 我可能算错了 但是就是这个意思