#include<cstdio>
union test
{
float f;
int d;
};
int main()
{
float f = 2.34f;
// dla pewnosci
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(int));
test a;
a.f = f;
// w jaki sposob printf dochodzi do pierwszej z tych wartosci?
printf("%d\n", f);
printf("%d\n", *reinterpret_cast<int*>(&f));
printf("%d\n", a.d);
printf("%d\n", (int)f);
return 0;
}
output:
4
4
-536870912
1075167887
1075167887
2