• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    5年前 (2013-07-07)  C++ |   8 条评论  12 
    文章评分 0 次,平均分 0.0

    昨天一师妹在进行项目代码编写时,需要将4个字节的数据转换为浮点型数,她使用了非常冗繁的方法来对对数据解析,结果有很多问题。
    其实这看起是一个很小的问题,而是考验对基础熟悉程度,如果没理解计算机中数的存储.这可不是小问题。

    附上正确的代码。

    #include <iostream>
    #include <string>
    #include <string.h>
    #include <stdio.h>
    #include <stdlib.h>
    using namespace std;
    
    int main()
    {
    	unsigned char byte1 = 0x38, byte2 = 0x3c, byte3 = 0xbe ,byte4 = 0x62;
    	unsigned short shortHigh = (byte1 << 8 | byte2);
    	unsigned short shortLow = (byte3 << 8 | byte4);
    	int intValue = (shortHigh << 16) | shortLow;
    	float doubleValue;
    	memcpy(&doubleValue,&intValue,4 );
    	//bcopy(&intValue, &doubleValue, 4);
    	cout<<doubleValue<<endl;
    	system("pause");
    }
    
    
     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/1652.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享