這個和編譯器和c的版本都有關係。基本轉換是這樣的。
double<---float
↑long
↑unsigned
↑int<--char、short
在做運算的時候,自左向右的方向是由編譯系統自己完成而且一定完成的轉換。也就是char和int做運算結果一定是int型別的。
而自下而上的轉換看表示式,如果int和long做運算,則int轉成long,最後結果是long型別。
如果int和float運算,先有float到double,再由int到double。最後結果是double。
至於int是16位還是32位,取決於系統。現在基本都是16位。
不同資料型別混合運算及型別轉換
結果如下 wll wll linux code test cal a b unsigned short a 0 unsigned int b 0x12345678 a b printf b 0x x,a 0x x r n b,a 結果如下 wll wll linux code test cal b ...
混合運算的型別轉換
1616 3 張宇 16 10 17 連續十六天總結 a.混合運算的型別轉換 100 b.這節學的內容和以前學的有很多是重複的,比如雙精度的和單精度的數相運算的結果是雙精度。我們也可以將結果強行進行型別轉換,資料型別 表示式 或 資料型別 表示式 運算時會進行隱性運算,有符號向無符號的轉化。精度低的...
資料型別和資料運算
1.如果超出型別位數會自動轉換為其他的型別,隱式轉換 2.整型 int a.32位機器上,整數的位數是32位,只能是4g記憶體,2的31次方至2的32次方減一 b.64位機器上,整數的位數是64位,2的63次方至2的63次方減一 長整型 long 沒有長整型概念,沒有限定位數,可以無限大 3.浮點數...