字符转换

    unsigned char uszTmp[2];
    *uszTmp = { 0 };
    cout << "sizeof uszTmp:" << sizeof(uszTmp) << endl;

    uszTmp[0] = 0xc1;
    uszTmp[1] = 0x48;
    // 将其转换成标准16进制的格式输出 by_wsl_2018/06/22
    printf("%02X%02X%04X \n", uszTmp[0],uszTmp[1],0);
    unsigned int unTmp = 0;
    // 注意此处拷贝的大小是2,因为一个char占一字节
    memcpy(&unTmp, &uszTmp, 2);
    // ntohl函数,是将一个无符号长整形数从网络字节顺序转换为主机字节顺序, ntohl()返回一个以主机字节顺序表达的数
    // n代表net,h代表host,l代表long,s代表short 如1234转换成网络顺序就是3412,这里是将00 00 48 c1转换位c1 48 00 00
    unTmp = ntohl(unTmp);
    printf("%d\t %08X\n", unTmp, unTmp);

    float fAfter = *(float*)&unTmp;
    cout << fAfter << endl;
    system("pause");
	return 0;

另外这里还示范了如何将16进制数根据IEEE754转换为浮点数

猜你喜欢

转载自blog.csdn.net/lasuerte/article/details/80772555