음수 값이 되는 모듈로 연산자: 수학적 설명
모듈로 연산자 %를 음수에 적용하면 다음과 같은 결과가 달라질 수 있습니다. 구현에. 이는 혼란스러울 수 있지만 모듈로 연산자의 수학적 정의를 이해하면 이 동작을 이해할 수 있습니다.
ISO14882:2011(e) 5.6-4에 따르면 모듈로 연산자는 나눗셈의 나머지를 반환합니다. 두 번째의 첫 번째 표현. 두 번째 피연산자가 0이면 동작이 정의되지 않습니다. 정수 피연산자의 경우 몫은 소수 부분을 버린 대수 몫입니다.
이를 설명하려면 다음 예를 고려하세요.
std::cout << (-7 % 3) << std::endl; // -1 std::cout << (7 % -3) << std::endl; // 1
(-7 % 3) = -1
(7% -3) = 1
두 가지 모두에 유의하세요. 경우 대수적 몫은 동일합니다(-2). 나머지의 차이는 두 피연산자의 부호가 서로 다른 경우 구현에서 정의한 나머지 부호로 인해 발생합니다.
위 내용은 모듈로 연산자가 음수로 음수 결과를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!