自動型別轉換:容量小的資料型別可以自動轉換為容量大的資料型別。在圖中,黑色的實線表示無資料丟失的自動型別轉換,而紅色的虛線表示在轉換時可能會精度的損失。
特例: 可以將整型常量直接賦值給
byte, short, char
等型別變數,而不需要進行強制型別轉換,只要不超出其表數範圍
short b = 12; //合法
short b = 1234567; //非法
強制型別轉換,又被稱為造型,用於顯式的轉換乙個數值的型別. 在有可能丟失資訊的情況下進行的轉換是通過造型來完成的,但可能造成精度降低或溢位。
強制型別轉換的語法格式:
「(type)var」
,運算子
「()」
中的type
表示將值
var想要轉換成的目標資料型別
當將一種型別強制轉換成另一種型別,而又超出了目標型別的表示範圍,就會被截斷成為乙個完全不同的值
操作比較大的數時,要留意是否溢位,尤其是整數操作時(詳細請見**)
**示意:
publicclass
testcasttype
}
21型別轉換
典型案例總結 靜態型別轉換,編譯的時c 編譯器會做型別檢查 基本型別能轉換 但是不能轉換指標型別,只要隱式型別轉換可以的地方都可以使用static cast。若不同型別之間,進行強制型別轉換,用reinterpret cast 進行重新解釋。一般性結論 總結 static cast 和reinter...
七型別轉換
c 提供六種型別轉換符號。前兩種是c風格,稱為c風格強制轉換,t 或者t 他們的效果一樣。後面四種分別是 負責將const型別轉換為非const型別,也可以反過來轉換。通常非const型別會自動轉換成const型別,所以一般不需要使用const cast進行轉換,但是如果有過載函式或者模板特化的話,...
009 型別轉換
運算子兩邊的資料型別必須一致,且表示式的值 也是運算子兩邊的數的型別,不一致時,要先轉換,再運算。自動型別轉換 隱式型別轉換 將精度低的轉為精度高的資料,系統自動進行,不會造成資料精度丟失。前提 型別相容 double int double string 目標型別精度大於源型別 顯式型別轉換 強制轉...