回覆列表
  • 1 # 雲端望川

    主要有以下情況:

    1) 若參與運算量的型別不同,則先轉換成同一型別,然後進行運算。2) 轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。a.若兩種型別的位元組數不同,轉換成位元組數高的型別b.若兩種型別的位元組數相同,且一種有符號,一種無符號,則轉換成無符號型別3) 所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表示式,也要先轉換成double型,再作運算。4) char型和short型參與運算時,必須先轉換成int型。5) 在賦值運算中,賦值號兩邊量的資料型別不同時,賦值號右邊量的型別將轉換為左邊量的型別。如果右邊量的資料型別長度左邊長時,將丟失一部分資料,這樣會降低精度,丟失的部分按四捨五入向前舍入。

  • 2 # 使用者3937226028394

    當float型強制轉化成int型時擷取整數捨去小數部分,此時運算結果不遵循四捨五入原則。

    當其他型別強制轉化為float型別時預設保留6位小數,此時運算結果遵循四捨五入原則。

    這是C語言的一種規定。

  • 中秋節和大豐收的關聯?
  • 為什麼發電輸電和配電系統都採用正弦交流電?