c – 从unsigned int转换为float

warning C4244: '=' : conversion from 'unsigned int' to 'float', possible loss of data  

浮点数不应该能够处理int中的任何值吗?

unsigned int: 0 to 4,294,967,295  
float 3.4E +/- 38 (7 digits) 

维基:

06002

integer) representation is that it can
support a much wider range of values.

任何见解都会有所帮助,谢谢.

http://msdn.microsoft.com/en-us/library/s3f49ktz%28VS.80%29.aspx

最佳答案
‘unsigned int’和’float’都使用32位来存储值.由于浮子的范围较大,因此必然会牺牲一些精度.这意味着有一些无符号的int值无法在float中准确表示. MSDN提供了更多细节.

转载注明原文:c – 从unsigned int转换为float - 代码日志