Scala의 모듈로 연산자

Suraj P 2023년6월21일
  1. Scala의 모듈로 연산자
  2. Scala의 floorMod() 메서드
  3. Scala의 %(y:Float) 메서드
Scala의 모듈로 연산자

이 기사에서는 모듈로 연산자(%)를 사용하여 작업하는 방법과 Scala에서 모듈로와 관련된 몇 가지 다른 방법을 배웁니다.

Scala의 모듈로 연산자

모듈로 연산자 %는 Scala에서 두 숫자를 나눌 때 나머지, 특히 부호 있는 나머지를 제공하는 데 사용됩니다.

통사론:

val z = x % y

zxy로 나눈 나머지를 포함합니다. 더 잘 이해하기 위해 예를 살펴보겠습니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {

       val x = 15
       val y = 4
       val z = x % y
       println(z)
    }
}

출력:

3

15를 4로 나누면 나머지가 3이 되어 변수 z에 저장되어 콘솔에 출력되고,

Scala의 floorMod() 메서드

Scala에서 Math floorMod()는 전달된 인수의 바닥 모듈로를 반환하는 데 사용됩니다. 이 메서드를 오버로드하여 int 및 long 인수를 사용할 수 있습니다.

제수가 0이면 ArithmeticException 나누기 0이 발생합니다.

통사론:

Math.floorMod(data_type x, data_type y)

여기서 a 매개변수는 피제수이고 y 매개변수는 제수입니다. 이러한 매개변수는 int 또는 long일 수 있습니다.

이 메서드는 (x - (floorDiv(x,y)*y)의 바닥 모듈로를 반환합니다.

예제 코드:

object MyClass {
    def main(args: Array[String]) {

       val x = 15
       val y = 4
       val z = Math.floorMod(x,y)
       println(z)
    }
}

출력:

3

일반적인 질문 중 하나는 Scala에서 floorMod() 메서드와 % 연산자의 차이점은 무엇입니까?입니다.

우리의 인수, 즉 피제수와 제수가 양수인 경우 둘 다 동일하지만 둘 중 하나 또는 둘 다 음수인 경우에는 다르게 동작합니다. 이것은 주로 메서드가 (x - (floorDiv(x,y)*y)의 바닥 모듈로를 반환하고 floorDiv() 메서드에 응답하기 때문에 발생합니다.

간단히 말해서 floorMod() 메서드는 divisor와 동일한 부호를 제공합니다. 즉, y 부호가 무엇이든 결과를 반환할 때 동일한 부호를 따릅니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {

       println("first: ")
       println(Math.floorMod(+4, -3));
       println((+4 % -3))

        println("second: ")

       println(Math.floorMod(-4, +3))
       println((-4 % +3))

        println("Third: ")
       println(Math.floorMod(-4, -3))
       println((-4 % -3))

    }
}

출력:

first:
-2
1
second:
2
-1
Third:
-1
-1

Scala의 %(y:Float) 메서드

Scala에서 %(y:Float)는 double을 float 값으로 나눈 나머지를 반환하려는 경우에 사용됩니다.

통사론:

double_value.%(y : Float)

예제 코드:

object MyClass {

    def main(args: Array[String]) {

      val rem = (16.50012.toDouble).%(13:Float)
      println("The remainder is")
      println(rem)

    }
}

출력:

The remainder is
3.500119999999999
작가: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub