C#의 MathF.IEEERemainder() 메서드는 지정된 숫자(피제수)를 다른 숫자(제수)로 나누었을 때의 나머지를 IEEE 754 부동소수점 표준에 따라 반환합니다. 일반적인 나머지 연산자(%)와 달리, 이 메서드는 가장 가까운 몫을 기준으로 계산하기 때문에 결과가 음수가 될 수 있다는 특징이 있습니다.
구문
메서드의 기본 구문은 다음과 같습니다.
public static float IEEERemainder(float dividend, float divisor);
매개변수
- dividend: 나눠질 숫자(피제수)
- divisor: 나눌 숫자(제수)
반환 값
IEEE 754 규격에 정의된 나머지를 float 형식으로 반환합니다. 결과의 절댓값은 항상 제수 절댓값의 절반 이하이며, 두 값의 몫이 정확히 중간에 위치할 경우 짝수인 몫이 선택됩니다.
예제 1
MathF.IEEERemainder() 메서드를 사용하는 첫 번째 예제입니다.
using System;
public class Demo {
public static void Main(){
float val1 = 90.5f;
float val2 = 13.5f;
float rem = MathF.IEEERemainder(val1, val2);
Console.WriteLine(rem);
}
}출력
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
-4
결과 설명: 90.5 ÷ 13.5 ≈ 6.70이고, 가장 가까운 정수는 7입니다. 따라서 나머지는 90.5 − (13.5 × 7) = 90.5 − 94.5 = -4가 됩니다. 이처럼 IEEERemainder는 반올림된 몫을 기준으로 계산하므로 결과가 음수로 나올 수 있습니다.
예제 2
이번에는 0을 다른 숫자로 나누는 경우를 살펴보겠습니다.
using System;
public class Demo {
public static void Main(){
float val1 = 0.0f;
float val2 = 1.0f;
float rem = MathF.IEEERemainder(val1, val2);
Console.WriteLine(rem);
}
}출력
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
0
결과 설명: 0을 1로 나누면 몫이 0이 되므로, 나머지 역시 0이 반환됩니다.