65,211
社区成员
发帖
与我相关
我的任务
分享
typedef unsigned char byte;
uion byte_to_float
{
float float_val;
byte byte_va[4];
};
float f = 0.9;
unsigned char *p = static_cast<unsigned char *>(&f); //p就是转换后的指针了,但是可能有问题。
普通的c++中并没有byte类型~
但是可以讲unsigned char当做byte类型~
再说byte*和float*转换:
可以直接强制类型转换,都是指针没有问题,但是float*指向float数据在内存存储形式可不能因为指针转换而跟着转换~
如:
float f = 1.0;
float *pf = &f;
byte *pb = (byte*)pf;
cout<<*pb<<endl; //输出的可不是1