常見的算術轉換
某些二元運算符將其運算元的類型轉換為普通類型,這也是結果的類型。下面這些轉換稱為常見算術轉換:
如果兩個運算元中的任何一個運算元的類型為longdouble,則另一個運算元的類型轉換為longdouble。
另外,如果兩個運算元中的任何一個運算元的類型為double,則另一個運算元的類型轉換為double。
另外,如果兩個運算元中的任何一個運算元的類型為float,則另一個運算元的類型轉換為float。
另外,對兩個運算元執行整型提升。然後,套用以下規則:
如果兩個運算元中的任何一個運算元的類型為unsignedlonglongint,則另一個運算元的類型轉換為unsignedlonglongint。
如果兩個運算元中的任何一個運算元的類型為longlongint,則另一個運算元的類型轉換為longlongint。
如果兩個運算元中的任何一個運算元的類型為unsignedlongint,則另一個運算元的類型轉換為unsignedlongint。
另外,當僅在SPARCV9上進行編譯並指定了cc-xc99=none時,如果一個運算元的類型為longint而另一個運算元的類型為unsignedint,則兩個運算元的類型均轉換為unsignedlongint。
另外,如果兩個運算元中的任何一個運算元的類型為longint,則另一個運算元的類型轉換為longint。
另外,如果兩個運算元中的任何一個運算元的類型為unsignedint,則另一個運算元的類型轉換為unsignedint。
另外,兩個運算元的類型均為int。