Java의 음수 계수 값
원래 질문:
모듈로 연산자를 사용할 때 Java에서는 음수가 음수 값이 되는 경우가 있습니다. 예를 들어, int i = -1 % 2를 계산하면 -1이 나오는 반면, Python에서는 동일한 계산이 1을 반환합니다.
설명:
Java와 Python은 모듈러스 연산과 나머지 연산의 차이에서 발생합니다. Python에서 % 연산자는 음수 입력에 대해서도 항상 양수 결과를 반환하는 모듈러스 연산을 수행합니다. 대조적으로, Java의 % 연산자는 나머지를 계산하며, 이는 음수 입력의 경우 음수가 될 수 있습니다.
해결책:
Java에서 Python의 모듈로 연산과 동일한 동작을 달성하려면, 다음 접근 방식을 따를 수 있습니다.
<code class="java">int i = (((-1 % 2) + 2) % 2);</code>
이 식에서 모듈러스 연산은 먼저 괄호를 사용하면 음수 값이 생성됩니다. 2를 추가하면 결과가 양수 범위로 이동하고 최종 모듈러스 연산을 통해 결과가 [0, 1] 범위 내에 있는지 확인합니다.
<code class="java">int i = -1 % 2; if (i < 0) i += 2;</code>
여기서 음수를 사용한 모듈러스 연산이 먼저 평가됩니다. 결과가 음수인 경우 2만큼 증가하여 양수 계수를 얻습니다.
접근 방식 선택은 특정 요구 사항과 기존 코드 기반으로의 통합 용이성에 따라 달라집니다.
위 내용은 Java의 모듈로 연산자가 음수에 대해 음수 값을 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!