산술 식
산술 연산자는 더하기(+
), 빼기(-
), 곱하기(*
), 나누기(/
), 부정(-
), 지수화(^
)입니다.
Int
, BigInt
또는 Double
형식의 피연산자에 적용할 수 있습니다. 또한 정수 형식(Int
및 BigInt
)의 경우 모듈러스(%
)를 계산하는 연산자를 사용할 수 있습니다.
이항 연산자의 경우 지수를 제외하고 두 피연산자의 형식이 일치해야 합니다. BigInt
형식 값의 지수는 Int
형식이어야 합니다. 전체 식의 형식은 왼쪽 피연산자의 형식과 일치합니다.
Int
및 BitInt
지수화의 경우 지수가 음수이거나 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
데이터 형식에 중요하며 런타임 정보를 전파하는 방법을 쉽게 제한할 수 있습니다. 정밀도 손실과 관련된 오류와 같은 우발적인 오류를 방지할 수 있는 이점이 있습니다.