• 数组char a[4] 保存了一个数据,怎么转换为unsigned int呢 ?


    [待解决问题] 浏览: 701次

    注意char并不表示字符的

    a[0]=0;

    a[1]=0;

    a[2]=3;

    a[3]=0;

    那么我要的unsigned int b应该等于:

    b= 0x00000300 = 768

    这个有现成的函数么?(C++)

    上面的回答基本正确,从你的描述看,你使用的是big-endian(网络字节序),所以按intel系列cpu来说,可以这样赋值。

    #include <Winsock2.h>

    char a[4] = { 0,0,3,0 };

    unsigned int b = ntohl ( *( (unsigned int*) a) );

    或者

    unsigned int b = MAKELPARAM(MAKEWORD(a[3],a[2]), MAKEWORD(a[1], a[0]));

     
    回复 | hoodlum1980 | 园豆:451 (菜鸟二级) | 2012-04-30 19:36 |
  • 相关阅读:
    Linux文件及目录查找
    英语单词independent
    英语单词omitting
    英语单词deploy
    英语单词debug
    线程
    进程
    操作系统历史
    分布式爬虫
    爬虫基础
  • 原文地址:https://www.cnblogs.com/RodYang/p/3325389.html
Copyright © 2020-2023  润新知