关于4个字节转换为浮点数

2013年7月7日 由 Creater 留言 »

昨天一师妹在进行项目代码编写时,需要将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");
}

广告位

发表评论

你必须 登陆 方可发表评论.