C语言(四)隐式类型转换规则
隱式類型轉(zhuǎn)換的規(guī)則
確定二元運算中的哪個操作數(shù)要轉(zhuǎn)換為另一個操作數(shù)的類型是,其機制相當(dāng)簡單。其基本規(guī)則是,將值域較小的操作數(shù)類型轉(zhuǎn)換為另一個操作數(shù)類型,但在一些情況下,兩個操作數(shù)都要轉(zhuǎn)換類型。
編譯器按順序采用如下規(guī)則,確定要使用的隱式類型轉(zhuǎn)換;
(1)如果一個操作數(shù)的類型是long double。就把另一個操作轉(zhuǎn)換為long double類型。
(2)否則,如果一個操作數(shù)的類型是double,就把另一個操作轉(zhuǎn)換為double類型。
(3)否則,如果一個操作數(shù)的類型是float,就把另一個操作轉(zhuǎn)換為float類型。
(4)否則,如果兩個操作數(shù)的類型都是帶符號的整數(shù)或無符號的整數(shù)的整數(shù),就把級別較低的操作數(shù)轉(zhuǎn)換為另一個操作數(shù)的類型。無符號整數(shù)類型的級別從低到高為:siqned char,short,int,long,long long
每個無符號整數(shù)類型的級別都與對應(yīng)的符號整數(shù)類型相同,所以unsigned int類型的級別與int類型相同。
(5)否則,如果帶符號整數(shù)類型的操作數(shù)級別低于無符號整數(shù)類型的級別,就把帶符號整數(shù)類型的操作數(shù)轉(zhuǎn)換無符號整肅類型。
(6)否則,如果帶符號整數(shù)類型的值域包含了無符號整數(shù)類型所表示的值,就把無符號整數(shù)類型轉(zhuǎn)換為帶符號的整數(shù)類型。
(7)否則,兩個操作數(shù)都轉(zhuǎn)換為帶符號整數(shù)類型對應(yīng)的無符號整數(shù)類型。
總結(jié)
以上是生活随笔為你收集整理的C语言(四)隐式类型转换规则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: seo高手教你seo优化排名该怎么做
- 下一篇: ★古今中外著名14大悖论