earlier to IEEE 758 representation, floating numbers couldn't differentiate -0 and +0. So, they come up with IEEE 758 floating poing representation in 32 bit and 64 bit and they marked +0 and -0 representation special that's all I read somewhere, don't know exact history.