>  기사  >  Java  >  음의 배당금에 대해 Java의 모듈로 연산자(%)가 Python과 다른 결과를 반환하는 이유는 무엇입니까?

음의 배당금에 대해 Java의 모듈로 연산자(%)가 Python과 다른 결과를 반환하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-30 14:34:30404검색

Why Does Java's Modulo Operator (%) Return Different Results Than Python for Negative Dividends?

Java와 Python의 모듈로 동작 차이

Java에서 모듈로 연산자(%)는 한 숫자를 다른 숫자로 나눌 때 나머지를 산출합니다. 그러나 음수 배당의 경우 Python은 모듈러스를 반환하고 Java는 나머지를 반환합니다. 모듈러스는 항상 양수인 반면 나머지는 피제수 기호를 유지합니다.

Java의 모듈러스 동작을 Python의 동작과 일치시키려면 수정이 필요합니다. 이는 다른 모듈로 연산을 추가하거나 결과 부호를 조정하여 달성할 수 있습니다.

예:

<code class="java">int i = (((-1 % 2) + 2) % 2); // adds 2 to the initial remainder and takes the modulus again</code>

또는

<code class="java">int i = -1 % 2;
if (i < 0) i += 2; // adds 2 if the initial remainder is negative</code>

이렇게 하면 조정하면 결과는 Python의 예상 모듈러스 동작과 일치하여 모듈로 연산을 수행할 때 음수 배당금에 대해 양수 값을 보장합니다.

위 내용은 음의 배당금에 대해 Java의 모듈로 연산자(%)가 Python과 다른 결과를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.