음수 값을 사용한 모듈로 연산자의 동작 이해
모듈로 연산자를 음수 피연산자와 함께 사용할 경우 다른 결과가 나오는 것으로 알려져 있습니다. 이를 자세히 알아보기 위해 다음 작업을 고려해 보겠습니다.
std::cout << (-7 % 3) << std::endl; // Output: -1 std::cout << (7 % -3) << std::endl; // Output: 1
ISO 표준에 따른 이론적 근거
ISO14882:2011(e) 5.6-4에 따르면, 모듈로 연산자(%)는 첫 번째 표현식을 두 번째 표현식으로 나눈 나머지를 산출합니다. 그러나 우리의 경우와 같은 정수 피연산자의 경우 나누기 연산자(/)는 소수 부분을 모두 버리고 정수 나누기를 수행합니다.
수학적 분석
계산을 분석해 보겠습니다. 명확성을 위해:
구현 정의 동작
두 피연산자가 모두 음수인 경우 나머지 부호는 구현에 따라 정의된다는 점에 유의하는 것이 중요합니다. 그러나 ISO14882:2011(e)부터 해당 동작은 이전 버전인 ISO14882:2003(e)처럼 더 이상 명시적으로 기술되지 않습니다.
위 내용은 모듈로 연산자는 음수를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!