Code Bye

C++中多个数怎么拼成一个数

有一个数组buffer【】;本人需要将第一第二第三第四4个数拼成一个数,例如:
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
//

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C++中多个数怎么拼成一个数