1 是 int 類型,為什么 short s = 1 不報錯,而 1.1 是 double 類型 float f = 1.1 卻報錯?
1 回答

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
因為int如果超了short范圍,會被截取低位部分,沒超會正常賦值.
但double類型是不可預測的,可能很簡單的數字都占滿了所用的字節,比如:0.5,在內存中其實表示為:0.499999999999
這樣的數字截取低位部分就是另一個數字了,這顯然不能容許.所以float賦值小數必須加標記,便于編輯器在編譯期間檢查.
添加回答
舉報
0/150
提交
取消