Java의 모듈러스

Rupam Yadav 2023년10월12일
  1. Math.floorMod()를 사용하여 Java에서 두 숫자의 Mod 계산
  2. %연산자를 사용하여 Java에서 두 숫자의 Mod 계산
Java의 모듈러스

모듈러스 또는 모듈러스 연산자는 나눗셈 후 두 정수의 나머지를 반환합니다. 숫자가 짝수인지 아닌지 알아내는 것과 같은 간단한 작업과 원형 배열에서 다음 쓰기 위치를 추적하는 것과 같은 더 복잡한 작업에 사용됩니다.

Math.floorMod()를 사용하여 Java에서 두 숫자의 Mod 계산

Math.floorMod(a,b)함수는 int 또는 long 유형일 수있는 두 개의 인수를받습니다. 함수에서a는 피제수이고 b는 제수입니다. 함수에 전달 된 두 인수의 바닥 계수를 반환합니다. ab의 mod는 0보다 크거나 같고 b보다 작은 결과를 산출합니다.

아래에 주어진 코드에서 변수num1은 정확하게num2로 나눌 수 있습니다. 따라서 나머지는 0입니다. 두 번째 시나리오의 경우 동일한 부호의num3num4가 있고 동일한 부호의 나머지 만 제공합니다.

그러나 배당금num5가 양수이고 제수num6이 음수 인 세 번째 시나리오를 고려하면 나머지는 제수 부호를 갖습니다. 마찬가지로 마지막 배당금에서num7은 여전히 ​​음수입니다. 결과는 양의 제수 부호 만 전달합니다.

import java.lang.Math;

public class Main {
  public static void main(String[] args) {
    int num1 = 20, num2 = 4;
    System.out.println(Math.floorMod(num1, num2));

    int num3 = 113, num4 = 30;
    System.out.println(Math.floorMod(num3, num4));

    int num5 = 113, num6 = -30;
    System.out.println(Math.floorMod(num5, num6));

    int num7 = -113, num8 = 30;
    System.out.println(Math.floorMod(num7, num8));
  }
}

출력:

0
23
-7
7

%연산자를 사용하여 Java에서 두 숫자의 Mod 계산

나머지%연산자는 나머지 연산에도 사용됩니다. mod와 나머지 사이에는 미묘한 차이가 있습니다. 위에서 언급했듯이 a와 b의 mod에 대한 결과는 항상 0보다 크거나 같고 b (제수)보다 작습니다.

num1 % num2를 사용하여 아래 주어진 예를 고려하면num1이 짝수인지 홀수인지 결정합니다. num1 % num2의 나머지가 0과 같으면 숫자는 짝수이고 홀수입니다. % 연산에서 결과는 배당금의 부호를 전달하며num3%num2를 취하면 볼 수 있습니다. 방정식-23 % 2는 -1이므로 배당금의 부호가됩니다.

마찬가지로 배당금이 양수이면 결과 나머지는 양수입니다. 예를 들어num1%num4는 나머지가 양수입니다. 방정식17 % -3은 2와 같습니다.

public class ModTest {
  public static void main(String args[]) {
    int num1 = 17;
    int num2 = 2;

    boolean result = false;

    if (result = (num1 % num2) == 0) {
      System.out.println("Number " + num1 + " is even");
    } else {
      System.out.println("Number " + num1 + " is odd");
    }

    int num3 = -23;
    int num4 = -3;
    System.out.println("Remainder1: " + num3 % num2);
    System.out.println("Remainder2: " + num1 % num4);
  }
}

출력:

Number 17 is odd
Remainder1: -1
Remainder2: 2
작가: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

관련 문장 - Java Math