C에서 숫자의 배수로 반올림
프로그래밍에서 숫자로 작업할 때 값을 반올림해야 할 수 있습니다. 다른 숫자의 가장 가까운 배수. C에서 이 작업에 접근하는 방법은 여러 가지가 있지만 이 기사에서는 정수 산술을 활용하여 정확한 반올림을 달성하는 효율적인 방법에 중점을 둘 것입니다.
제공된 코드 조각인 roundUp은 양수에 대한 간단한 솔루션을 제공합니다. 입력 숫자 numToRound를 배수로 나눈 나머지를 계산하고 나머지가 0이 아닌 경우 해당 배수를 numToRound에 추가합니다. 이렇게 하면 결과가 입력보다 크거나 같은 가장 가까운 배수가 됩니다.
그러나 음수의 경우 원래 코드는 원하는 동작을 제공하지 않습니다. 음수를 수용하기 위해 roundUp의 수정된 버전이 도입되었습니다. 이 버전은 반올림 작업을 수행하기 전에 입력 숫자의 절대값을 계산합니다. 또한 조건부 논리를 사용하여 입력 부호에 따라 결과 부호를 조정합니다. 이렇게 하면 결과가 부호에 관계없이 항상 입력보다 크거나 같게 됩니다.
다음은 양수와 음수를 모두 처리하기 위해 업데이트된 코드입니다.
int roundUp(int numToRound, int multiple) { if (multiple == 0) return numToRound; int remainder = abs(numToRound) % multiple; if (remainder == 0) return numToRound; if (numToRound < 0) return -(abs(numToRound) - remainder); else return numToRound + multiple - remainder; }
이제, roundUp 기능은 양수 입력과 음수 입력 모두에 대해 일관된 동작을 제공하여 주어진 숫자의 가장 가까운 배수로 정확하게 반올림되도록 합니다.
위 내용은 C에서 숫자를 가장 가까운 배수로 효율적으로 반올림하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!