C++不同數據類型的數據進行運算,數據類型問題

C++不同數據類型的數據進行運算,數據類型問題
int型除以double型,結果是double型
自動轉換遵循以下規則:

  • 若參與運算量的類型不同,則先轉換成同一類型,然後進行運算。

  • 轉換按數據長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。
    a.若兩種類型的字節數不同,轉換成字節數高的類型
    b.若兩種類型的字節數相同,且一種有符號,一種無符號,則轉換成無符號類型

  • 所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表達式,也要先轉換成double型,再作運算。

  • char型和short型參與運算時,必須先轉換成int型。

  • 在賦值運算中,賦值號兩邊量的數專據類型不同時,賦值號右邊量的類型將轉換爲左邊量的類型。如果右邊量的數據類型長度左邊長時,將丟失一部分數據,這樣會降低精度,丟失的部分按四舍屬五入向前舍入。例如:int 和double屬於不同類型,轉換遵循低精度到高精度轉換,所以int先轉成double型就算,結果就是double型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章