有一个数组buffer【】;本人需要将第一第二第三第四4个数拼成一个数,例如:
buffer【0】=18;
buffer【1】=02;
buffer【2】=30;
buffer【3】=62;
本人需要的是18023062这个数,求帮助怎么拼接并存入一个变量中。
buffer【0】=18;
buffer【1】=02;
buffer【2】=30;
buffer【3】=62;
本人需要的是18023062这个数,求帮助怎么拼接并存入一个变量中。
解决方案
60
#pragma warning(disable:4305 4309) #include <stdio.h> #include <string.h> char sDec[4] = {0x05,0xc5,0xb3,0xea}; //怎么把 0x05,0xc5,0xb3,0xea 组合成一个十六进制数 0x05c5b3ea , //并且把 0x05c5b3ea 转换成十进制数。 unsigned int i,v; int main() { v=0; for (i=0;i<4;i++) v|=((unsigned int)sDec[3-i]&0xFFu)<<(i*8); printf("0x%08x,%u\n",v,v); return 0; } //0x05c5b3ea,96842730 //