double賦值給float類型,原則上數據本身大小是不變的。
C語言中常用的浮點變量定義有兩種類型,分別是float和double;float稱為單精度浮點型,double稱為雙精度浮點型。
若y定義為double類型,在計算過程中,5要寫成5.0,
若y定義為float類型,在計算過程中,5寫成5即可,不用寫成5.0,
能用float盡量不用double,Float為單精度,內存中占4個字節,有效數位是7位(因為有正負,所以不是8位),double為雙精度,占8個字節,有效數位是16位,double和float的區別是double精度高,有效數字16位,float精度7位。但double消耗內存是float的兩倍,double的運算速度比float慢得多,能用單精度時不要用雙精度(以省內存,加快運算速度)。
編譯不會出錯,但是如果double變量的精度超出了float的范圍,或者double變量的值超過了float的最大值,變量值會改變,最好不好這么做