I took a regular integer and casted it to float, what I found quite strange is that depends on the value I'm casting, after the conversion the LSB can flip a bit.
Here's an example:
Enter a number: 1313131360
FLOAT: 01001110100111001000100110010111
^
This is where the mantissa starts
INT(Original): 1001110010001001100101101100000
INT(BackFromFloat): 1001110010001001100101110000000
I took the number 1313131360 and casted it to float, and back to int, you can see the in the last line the 8th bit had turned into one.
More I noticed that if I enter the number 1313131328 it doesn't change this bit:
Enter a number: 1313131328
FLOAT: 01001110100111001000100110010110
^
This is where the mantissa starts
INT(Original): 1001110010001001100101101000000
INT(BackFromFloat): 1001110010001001100101100000000
Why is that?