# 算術式 Decodal は具体的な数値に対する算術演算をサポートする。 ```dcdl { workers = 2 + 2; timeout = 30.0 / 2; port = 8000 + 80; negative = -1; } ``` ## 演算子 - `+`: 加算 - `-`: 減算 - `*`: 乗算 - `/`: 除算 - 単項 `-`: 符号反転 `*` と `/` は `+` と `-` より高い優先順位を持つ。 括弧を使ってグループ化を明示できる。 ```dcdl 2 + 3 * 4 # 14 (2 + 3) * 4 # 20 ``` ## 数値の扱い 算術演算には具体的な `Int` または `Float` の operand が必要である。 `Int + Int`、`Int - Int`、`Int * Int` は、overflow が発生しない場合に `Int` を返す。 `Int` と `Float` が混在する演算は `Float` を返す。 除算は常に `Float` を返す。 ゼロ除算と整数 overflow は評価エラーになる。 算術式は、default や数値制約を含め、具体的な数値式が必要な任意の場所で使える。 ```dcdl port = Int & > 4000 + 42 default 8080; ```