算術運算式
算術運算符是加法 () +
、減法 -
() 、乘 *
法 () 、除法 (/
) 、負 -
() ,以及 ^
指數 () 。 其可以套用至 Int
、BigInt
或 Double
類型的運算元。 此外,對於整數型別 (Int
和 BigInt
) ,可以使用運算模數 (%
) 的運算符。
如果是二元運算符,兩個操作數的類型都必須相符,但指數除外;型 BigInt
別值的指數必須是 型別 Int
。 整個運算式的類型符合左運算元的類型。 若為 和BitInt
的Int
指數,如果指數為負數,或需要超過32個位來表示 (,如果指數大於 2147483647) ,則行為不會定義。
Int
和 BigInt
類型值的除法和模數針對負數遵循下列行為:
A |
B |
A / B |
A % B |
---|---|---|---|
5 | 2 | 2 | 1 |
5 | -2 | -2 | 1 |
-5 | 2 | -2 | -1 |
-5 | -2 | 2 | -1 |
也就是說, a % b
一律具有相同的正負號 a
,且 b * (a / b) + a % b
一律等於 a
。
Q# 不支援在算術數據類型或任何其他數據類型之間自動轉換。 對於數據類型而言,這特別 Result
重要,有助於限制運行時間信息傳播方式。 其優點是避免意外錯誤,例如與精確度遺失相關的錯誤。