char到int的转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了char到int的转换相关的知识,希望对你有一定的参考价值。

参考技术A 既然数据包格式这么定义,那么移位相加即可,但是要注意char类型,需要转换为无符号数据,否则0xe8认为是负数(其实也可以定义时就为unsigned
char)。试试下面代码:
#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的转换的主要内容,如果未能解决你的问题,请参考以下文章

C char* 到 int 的转换

错误:在 [-Wnarrowing] 中缩小从“int”到“char”的“199”转换

Qt中Qstring,char,int,QByteArray之间到转换(转)

大于 9 的数字的 C++ char 到 int 转换

为啥我的 ASCII char 到 int 转换失败?

C# char[] 转换到string