1、混合運算的型別轉換規則
當二元運算子兩邊的運算元型別不同,但型別相容時,系統將資料型別轉化為一致後進行運算,具體規則如下:
(1)、字元可以作為整數參與數值運算,整數的值為其ascii 值。
(2)、運算元為字元或者短整型時,系統自動將其轉化為整型。
(3)、運算元為單精度型別時,系統自動將其轉換成雙精度型。
(4)、當兩邊運算元的型別不同時,將精度低(表示範圍小)的運算元的資料型別轉換為與另乙個運算元型別相同時再進行運算。
2、賦值的型別轉換規則
(1)、實型數賦值給整數變數時,僅取整數部分賦值,相當於取整,但是如果整數部分超過整形變數的取值範圍時,發生溢位,結果錯誤。
(2)、整數賦值給實型變數事,將整數轉化為實數再賦值。
(3)、字元型資料賦值給整形變數時,將字元轉換為整形,分為兩種情況。一種是:對於無符號的字元資料,低位位元組不變,高位位元組補0,另一種:對於有符號的字元資料,若符號位為0,則與無符號資料的轉換規則相同,若符號位為1,則低位位元組不變,高位位元組全部置1。
(4)、無符號整形或長整形數賦值給整形變數時,若資料在整形的取值範圍內,則無需轉換,且結果正確;但若超出取值範圍,則發生溢位,賦值結果錯誤。
C 算術型別轉換和賦值型別轉換
運算過程中,當參與運算的運算元型別不同時,可進行型別轉換。包括 自動轉換 和強制轉換 自動型別轉換指在算術運算以及在賦值過程中,如果運算子兩邊的運算元屬於 型別相容 指型別不同但系統可以自動進行轉換 的情況,如整數 字元和實數之間,系統會自動進行型別轉換,然後再做運算。包括 算術型別轉換 賦值型別轉...
Java的型別賦值轉換
數值型別的轉換我就不說了,與c c 的一樣。我主要說物件型別。把子類賦值給父類物件是賦值相容的,可以直接賦值。如 typetest tt new typetest object oo oo object tt 或者oo tt oo是個object型別的引用變數,指向了typetest型別的例項,我們...
賦值過程的型別轉換
如果賦值運算子兩側的型別不一致,但都是數值型或字元型,在賦值時要進行型別轉換。型別轉換有系統自動完成,轉換的規則是 1 將實型資料 包括單 雙精度 賦給整型變數時,先對實數取整 捨去小數部分 然後賦給整型變數。如 int a a 3.14執行的結果是,a的值為3,以整數形式儲存在儲存單元中,小數部分...