모듈로 연산의 음수 나머지 값
피연산자 중 하나가 음수인 모듈로 연산을 수행할 때 예상치 못한 결과가 발생할 수 있습니다. 이 기사에서는 (-7 % 3) 및 (7 % -3)과 같은 연산이 각각 -1과 1이라는 일관되지 않은 결과를 생성하는 이유를 살펴봅니다.
ISO14882:2011 표준에 따르면 모듈로 연산자(% )는 첫 번째 피연산자를 두 번째 피연산자로 나눈 후 나머지를 제공합니다. 정수 나누기는 일반적으로 소수 부분을 버리는 것과 관련이 있지만, 모듈로 연산자는 피연산자의 부호도 고려합니다.
(-7 % 3)의 경우 -7/3의 결과는 -2입니다. -2에 3을 곱하면 -6이 되며 나머지는 -1임을 나타냅니다. 따라서 (-7 % 3) = -1입니다.
마찬가지로 (7 % -3)의 경우 7 / -3은 -2를 생성합니다. -2에 -3을 곱하면 6이 되고 나머지는 1이 됩니다. 따라서 (7 % -3) = 1이 됩니다.
모듈로 연산은 결과가 음수일 때 구현에 따라 정의된 동작을 나타낸다는 점에 유의하는 것이 중요합니다. . 일부 구현에서는 음수 기호를 유지할 수 있지만 ISO14882:2011 표준에서는 더 이상 이를 시행하지 않습니다. 따라서 음수 부호(-7 % 3)는 시스템에 따라 다릅니다.
위 내용은 모듈로 연산자(%)가 음수와 다른 결과를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!