Following is the code:
int a = 1;
int* ptr = &a;
float* p1 = (float*)ptr // or reinterpret_cast<float*>(ptr);
cout << *p1 << endl;
When I try to print the value pointed by float pointer p1, I get the answer as: 1.4013e-45. Can anyone please explain why is this happening?