math¶
評估數學表達式。
math(EXPR <variable> "<expression>" [OUTPUT_FORMAT <format>])
評估數學 <expression>
,並將 <variable>
設定為結果值。表達式的結果必須可表示為 64 位元帶符號整數。浮點輸入無效,例如 1.1 * 10
。非整數結果,例如 3 / 2
將被截斷。
數學表達式必須以字串形式給出(即用雙引號括起來)。例如 "5 * (10 + 13)"
。支援的運算符包括 +
、-
、*
、/
、%
、|
、&
、^
、~
、<<
、>>
和 (...)
;它們的含義與 C 程式碼中相同。
在版本 3.13 中新增:當以 0x
為前綴時,十六進制數字會被識別,如同在 C 程式碼中一樣。
在版本 3.13 中新增:結果會根據 OUTPUT_FORMAT
選項進行格式化,其中 <format>
是以下之一
十六進制
十六進制表示法,如同在 C 程式碼中,即以 "0x" 開頭。
十進制
十進制表示法。如果未指定
OUTPUT_FORMAT
選項,也會使用此表示法。
例如
math(EXPR value "100 * 0xA" OUTPUT_FORMAT DECIMAL) # value is set to "1000"
math(EXPR value "100 * 0xA" OUTPUT_FORMAT HEXADECIMAL) # value is set to "0x3e8"