如何将float类型指针的地址 转换为 char型
如题
如何将float类型指针的地址 转换为 char型
- C/C++ code
float *dataF;char *dataC;dataC =dataF;//这里应该怎么转换能转换吗
[解决办法]
应该是 将float类型的指针 转换为 char型的指针吧?
用强类型转化就可以了,如下
dataC =(char *)dataF;
[解决办法]
六楼大哥 那我这个为什么不对呢 再一个 这个结果好像不是0.5的值 还是我算错了00 00 00 3f运行你的程序的结果 我的是VC6.0 第一位 符号位 接着8位指数位 然后剩下23位的小数位
这个是我的(地址我在调试的时候看了就直接写了)
float b=0.5f;
printf("%02x",(unsigned char)*(char*)0x0012ff3c);
printf("%02x",(unsigned char)*(char*)0x0012ff3b);
printf("%02x",(unsigned char)*(char*)0x0012ff3a);
printf("%02x",(unsigned char)*(char*)0x0012ff39);
我运行的结果是00cccccc
还有我想问一下 浮点类型是怎么转换为整型的 原理是什么 谢谢
[解决办法]
楼主要看下《深入立即计算机系统》,用指针强行的把地址给转换了,但是没有什么作用啊,又不能作为char型数据给输出 啊
[解决办法]