vc 怎么把将4字节16进制浮点说 转化成 普通的浮点数

一个界面上的编辑框中的4字节16进制4120DADB(是没有符号位的)现在要把它变为double类型的数编辑框中的格式是string我想把他转为double型的数然后放到... 一个界面上的编辑框中的4字节16进制 41 20 DA DB (是没有符号位的)
现在要把它变为double类型的数
编辑框中的格式是string
我想把他转为double型的数然后放到另一个double型的编辑框中,怎么做
展开
 我来答
nusicvvv
推荐于2016-07-06 · TA获得超过2574个赞
知道大有可为答主
回答量:3576
采纳率:33%
帮助的人:1961万
展开全部
int d1, d2, d3, d4;
DWORD l;
float x;
double ot;
BYTE dbo[8];
sscanf(m_digit, "%02X %02X %02X %02X", &d1, &d2, &d3, &d4);
l = d1 | (d2 << 8) | (d3 << 16) | (d4 << 24);
memcpy(&x, &l, 4);
ot = l;
memcpy(&dbo, &ot, 8);
sprintf(m_outdb, "%02X %02X %02X %02X %02X %02X %02X %02X",
dbo[0],dbo[1],dbo[2],dbo[3],dbo[4],dbo[05],dbo[6],dbo[7]);

m_outdb就是结果了
更多追问追答
追问
我现在编辑框关联的变量的格式是string
还得先把string的格式转为DWORD
怎么转呢?
先谢谢你了
追答
DWORD l;
float x;
double ot;
BYTE dbo[8];
sscanf(m_digit, "%02X %02X %02X %02X", &d1, &d2, &d3, &d4);
l = d1 | (d2 << 8) | (d3 << 16) | (d4 << 24);
l就是那个你要的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式