自動轉(zhuǎn)換遵循以下規(guī)則:
- 若參與運算量的類型不同荒辕,則先轉(zhuǎn)換成同一類型策泣,然后進行運算。
- 轉(zhuǎn)換按數(shù)據(jù)長度增加的方向進行跟束,以保證精度不降低娘侍。如int型和long型運算時,先把int量轉(zhuǎn)成long型后再進行運算泳炉。
a.若兩種類型的字節(jié)數(shù)不同,轉(zhuǎn)換成字節(jié)數(shù)高的類型
b.若兩種類型的字節(jié)數(shù)相同嚎杨,且一種有符號花鹅,一種無符號,則轉(zhuǎn)換成無符號類型 - 所有的[浮點運算]都是以雙精度進行的枫浙,即使僅含float單精度量運算的表達式刨肃,也要先轉(zhuǎn)換成double型,再作運算箩帚。
- char型和short型參與運算時真友,必須先轉(zhuǎn)換成int型。
- 在賦值運算中紧帕,賦值號兩邊量的數(shù)據(jù)類型不同時盔然,賦值號右邊量的類型將轉(zhuǎn)換為左邊量的類型。如果右邊量的數(shù)據(jù)類型長度左邊長時是嗜,將丟失一部分?jǐn)?shù)據(jù)愈案,這樣會降低精度,丟失的部分按[四舍五入]向前舍入鹅搪。
例如:int 和double屬于不同類型站绪,轉(zhuǎn)換遵循低精度到高精度轉(zhuǎn)換,所以int先轉(zhuǎn)成double型就算丽柿,結(jié)果就是double型恢准。