vc 怎么把将4字节16进制浮点说 转化成 普通的浮点数
一个界面上的编辑框中的4字节16进制4120DADB(是没有符号位的)现在要把它变为double类型的数编辑框中的格式是string我想把他转为double型的数然后放到...
一个界面上的编辑框中的4字节16进制 41 20 DA DB (是没有符号位的)
现在要把它变为double类型的数
编辑框中的格式是string
我想把他转为double型的数然后放到另一个double型的编辑框中,怎么做 展开
现在要把它变为double类型的数
编辑框中的格式是string
我想把他转为double型的数然后放到另一个double型的编辑框中,怎么做 展开
1个回答
展开全部
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就是结果了
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就是那个你要的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询