"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java의 모듈로 연산자가 음수에 대해 음수 결과를 반환하는 이유는 무엇입니까?

Java의 모듈로 연산자가 음수에 대해 음수 결과를 반환하는 이유는 무엇입니까?

2024년 11월 16일에 게시됨
검색:594

Why Does Java\'s Modulo Operator Return a Negative Result for Negative Numbers?

Java의 음수 모듈로 결과

Java에서 음수를 사용하여 모듈로 연산을 수행할 때 결과가 얻은 결과와 다르다는 것을 알 수 있습니다. 파이썬에서. Java에서는 int i = -1 % 2가 -1을 산출하고 Python에서는 1을 반환합니다.

모듈로 및 나머지 이해

이 차이를 이해하는 열쇠 모듈로와 나머지의 차이에 있습니다. Python에서 % 연산자는 항상 음수가 아닌 결과를 생성하는 모듈러스를 반환합니다. 이와 대조적으로 Java의 모듈로 연산자는 나머지를 반환하며, 분자가 음수인 경우 음수가 될 수 있습니다.

음수 결과 수정

Python의 % 연산자와 동일한 동작을 얻으려면 Java에서는 다음 단계를 수행할 수 있습니다.

  1. 모듈로를 사용하여 나머지를 계산합니다. int i = -1 % 2;
  2. 나머지가 음수가 아니도록 충분히 더합니다: if (i

또는 다음 공식을 사용할 수 있습니다:

int i = (((-1 % 2) 2) % 2);

이러한 메소드를 적용하면 Java의 모듈로 연산자는 음수 입력에 대해 양수 결과를 반환하며 이는 Python의 동작과 일치합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3