음수를 사용한 Java의 모듈러스 계산 이해
Java에서 음수를 사용하여 모듈러스 계산을 수행할 때 사용자는 예상치 못한 결과가 발생할 수 있습니다. 예를 들어, -13 % 64는 예상되는 51 대신 -13을 생성합니다.
이러한 불일치는 프로그래밍 언어 전반에 걸쳐 사용되는 음수에 대한 모듈러스 연산자의 정의가 다르기 때문에 발생합니다. Java는 나머지가 음수이면 음수 피연산자를 반환하는 정의를 채택합니다. 이는 음수에 대한 모듈러스 연산자의 수학적 정의와 일치합니다.
그러나 일부 사용자는 피연산자의 부호에 관계없이 양의 나머지를 반환하는 대체 정의를 선호합니다. Java에서 원하는 동작을 달성하려면 간단한 코드 조각을 사용할 수 있습니다.
<code class="java">int r = x % n; if (r > 0 && x < 0) { r -= n; }</code>
이 코드에서 변수 r은 처음에 x % n의 결과를 보유합니다. r이 양수이고 x가 음수이면 원래 모듈러스 계산 결과가 음수라는 것을 나타냅니다. 그런 다음 코드는 r에서 n을 빼서 나머지를 양수 쪽으로 이동합니다.
반대로, 언어가 음수 나머지를 반환하고 원하는 출력이 양수인 경우 다음 코드 조각을 사용할 수 있습니다.
<code class="java">int r = x % n; if (r < 0) { r += n; }</code>
이 코드는 r이 음수인지 확인하고 이에 따라 n을 추가하여 양의 나머지를 보장합니다.
이러한 다양한 정의를 이해하고 적절한 코드 수정을 제공하면 프로그래머는 다음을 통해 원하는 모듈러스 결과를 얻을 수 있습니다. Java의 음수.
위 내용은 다음은 질문 형식을 염두에 두고 기사 내용과 일치하는 몇 가지 제목 옵션입니다. **옵션 1(불일치에 초점):** * **Java의 모듈러스 연산자가 Nega를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!