I don’t know if this is a bug but it isn’t what I was expecting:
julia> bitstring(Float32(0.777777777777777777777777777777777777777777777777))
"00111111010001110001110001110010"
julia> bitstring(Float64(0.777777777777777777777777777777777777777777777777))
"0011111111101000111000111000111000111000111000111000111000111001"
Shouldn’t the least significant bit of the Float32 encoding be a 1 and the least significant bit of the Float64 encoding by a 0 to capture the 000111… pattern? (Also, the next to least significant bit of the Float32 encoding appears to be flipped.)