My impression is that C float has 8 bits of exponent and 23 bits of mantissa.
So one is 0011 1111 1000 0000 0000 0000 0000 0000 = 0x3F800000.
However, the following code produced 1.06535e+09 instead of 1. Can anyone help me understand why?
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
float i = 0x3F800000;
cout<<i << endl;
return 0;
}