在vc中我定义了个float变量,大家都知道float占4个字节的内存空间,我想直接对该float变量写入二进制数 10
即:直接将32位1111.......二进制数据写入该变量对应的内存中,该如何操作?求助各位大神了...
即:直接将32位1111.......二进制数据写入该变量对应的内存中,该如何操作?求助各位大神了
展开
3个回答
展开全部
unsigned int i = 2^32 - 1; //32个1
或者 int i = -1;
float f = *((float *)&i);
追记:由于整型值和浮点值在内存解释方式上的差异,所得的float的值也并非是11111(32个1)。
或者 int i = -1;
float f = *((float *)&i);
追记:由于整型值和浮点值在内存解释方式上的差异,所得的float的值也并非是11111(32个1)。
更多追问追答
追问
我的意思是有没有办法直接操作float变量对应的内存空间
追答
这不是已经写进去了么?写了32个1?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-08-15 · 知道合伙人软件行家
关注
展开全部
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main()
{
char ch[4]={0x12, 0x55, 0x06, 0x09};//任意数
char fch[40];
float *flo;
flo= (float*)ch;
gcvt(*flo, 32, fch);
printf("%s\n", fch);
}
#include<stdio.h>
#include<stdlib.h>
int main()
{
char ch[4]={0x12, 0x55, 0x06, 0x09};//任意数
char fch[40];
float *flo;
flo= (float*)ch;
gcvt(*flo, 32, fch);
printf("%s\n", fch);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不太理解楼主想干什么……能详细说下吗?直接操作内存是要干什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询