char到int的转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了char到int的转换相关的知识,希望对你有一定的参考价值。
参考技术A 既然数据包格式这么定义,那么移位相加即可,但是要注意char类型,需要转换为无符号数据,否则0xe8认为是负数(其实也可以定义时就为unsignedchar)。试试下面代码:
#include
int main()
int i, result = 0;
char a[4] = 0x00,0x00,0x03,0xe8;//这里定义成unsigned char,那么下面就不需要强制转换了
for (i=0; i <4; i++)
result += (unsigned char)a[i] << ((3-i)*8);//每次都移位,数据转换为无符号
printf("%d\n", result);
以上是关于char到int的转换的主要内容,如果未能解决你的问题,请参考以下文章
错误:在 [-Wnarrowing] 中缩小从“int”到“char”的“199”转换