programming language/언어간 비교

Python, R, C, Java 나누기, 몫, 나머지 연산자 비교

눈곱만큼도모름 2025. 1. 23. 00:55
728x90
반응형

 

 

Python, R, C, Java 나누기, 몫, 나머지 연산자 비교

1. Python

  • /: 부동소수점 값을 반환
  • //: 정수 몫을 반환
  • %: 나머지를 반환
# Python 예제
a = 10
b = 3

print(a / b)   # 3.3333333333333335 (나누기, float 결과)
print(a // b)  # 3 (몫, 정수 결과)
print(a % b)   # 1 (나머지)
    

2. R

  • /: 부동소수점 값을 반환
  • %/%: 정수 몫을 반환
  • %%: 나머지를 반환
# R 예제
a <- 10
b <- 3

print(a / b)   # 3.333333 (나누기, float 결과)
print(a %/% b) # 3 (몫, 정수 결과)
print(a %% b)  # 1 (나머지)
    

3. C

  • /: 타입에 따라 결과가 다름 (정수: 정수 몫, 실수: 부동소수점)
  • %: 정수 타입에서만 나머지 반환
#include <stdio.h>

int main() {
    int a = 10, b = 3;
    double x = 10.0, y = 3.0;

    printf("%f\\n", x / y);  // 3.333333 (실수 나누기)
    printf("%d\\n", a / b);  // 3 (정수 나누기 = 몫)
    printf("%d\\n", a % b);  // 1 (정수 나머지)

    return 0;
}
    

4. Java

  • /: 타입에 따라 결과가 다름 (정수: 정수 몫, 실수: 부동소수점)
  • %: 정수 및 실수 나머지를 반환
public class Main {
    public static void main(String[] args) {
        int a = 10, b = 3;
        double x = 10.0, y = 3.0;

        System.out.println(x / y);  // 3.3333333333333335 (실수 나누기)
        System.out.println(a / b);  // 3 (정수 나누기 = 몫)
        System.out.println(a % b);  // 1 (정수 나머지)
        System.out.println(x % y);  // 1.0 (실수 나머지)
    }
}
    

5. 차이점 요약

연산 Python R C Java
나누기 / (부동소수점) / (부동소수점) / (정수 또는 부동소수점) / (정수 또는 부동소수점)
// %/% / (정수형에서 정수 몫 반환) / (정수형에서 정수 몫 반환)
나머지 % %% % (정수만 가능) % (정수 및 실수 가능)
728x90
반응형