HOWTO · C

C의 정수 나눗셈

이 기사에서는 C에서 정수 나누기의 동작을 보여줍니다.

이 페이지의 내용

이 기사에서는 정수 나누기 연산이 C에서 어떻게 작동하는지 보여줍니다.

C의 정수 나눗셈

C에서는 다른 정수나 다른 종류의 변수로 나누기 연산을 수행하여 정수를 나눌 수 있습니다. 부분으로 분할될 변수는 피제수이고 분할될 변수는 제수입니다.

정수를 그 자체로 나누면 몫과 나머지라는 두 개의 숫자를 받습니다. C에서 정수를 사용하여 숫자를 나누는 규칙은 산술을 사용하는 규칙과 매우 유사합니다.

나눗셈에 대해 생각할 때 소수점 구성요소(부동 소수점 데이터 유형)가 있을 수 있는 답으로 이어지는 프로세스를 자주 봅니다. 부동 소수점 나눗셈은 이러한 특정 종류의 나눗셈에 지정된 이름입니다.

그러나 두 피연산자가 모두 정수 데이터 유형이면 프로그래밍 언어에 따라 다르게 동작할 수 있는 특별한 나눗셈이 수행됩니다. 이러한 유형의 나눗셈을 정수 나눗셈이라고 합니다.

두 피연산자가 모두 정수 데이터 유형인 7/5의 예를 들어 보겠습니다. 식은 1로 평가되며 소수 부분이 없습니다.

다시 말하지만, 이런 종류의 나눗셈을 정수 나눗셈이라고 합니다.

정수를 나눈 결과 자체가 정수입니다. 예를 들어 방정식 7/4는 값 1로 평가되고 17/5는 값 3으로 각각 평가됩니다.

%로 표시되는 나머지 연산자는 C에서 사용할 수 있으며 정수 나누기 후에 얻은 값을 반환합니다. 잔여 연산자는 정수 피연산자에만 사용할 수 있는 일종의 정수 연산자입니다.

x를 y로 나눈 후 방정식 x % y로 반환된 결과는 잔차입니다. 따라서 7 % 4는 3이 되고 17 % 5는 2가 됩니다.

C의 정수 및 실수 나눗셈 규칙

integer / integer = integer
float / integer = float
integer / float = float

정수를 C의 정수 값으로 나누기

프로그램의 다음 예는 정수 값을 다른 정수 값으로 나누어 정수 값을 최종 출력으로 생성합니다.

#include <math.h>
#include <stdio.h>

int main() {
  int a = 3;
  int b = 15;
  int result;

  result = (b / a);
  printf("%d", result);
  return 0;
}

출력:

5

C에서 부동 소수점을 정수 값으로 나누기

다음 예제 코드는 float 값을 정수 값으로 나누어 float 값을 최종 출력으로 생성합니다.

#include <math.h>
#include <stdio.h>

int main() {
  int a = 3;
  float b = 15.50;
  double result;

  result = (b / a);
  printf("%f", result);
  return 0;
}

출력:

5.166667

C에서 정수를 실수 값으로 나누기

다음 예제 코드는 정수 값을 부동 소수점 값으로 나누어 부동 소수점 값을 최종 출력으로 생성합니다.

#include <math.h>
#include <stdio.h>

int main() {
  int a = 15;
  float b = 3.2;
  double result;

  result = (a / b);
  printf("%f", result);
  return 0;
}

출력:

4.687500

C의 정수 나눗셈과 모듈러스 연산자

정수 나누기에 대한 질문에 대한 솔루션의 후반부입니다.

% 기호는 이 연산자를 나타냅니다. 적절한 이름은 백분위수 연산자입니다. 모듈러스 연산자는 C의 산술 연산자에 새로 추가된 것으로, 동시에 두 개의 서로 다른 피연산자와 함께 작동할 수 있습니다.

결과를 결정하기 위해 분자를 제공된 분모로 나눕니다. 달리 말하면 정수 나누기 뒤에 나머지가 존재하게 됩니다.

이 때문에 나머지는 항상 정수입니다. 나머지가 남아 있지 않으면 나머지는 0이 됩니다.

정수 나눗셈으로 몫과 나머지 계산하기

시작하려면 int 데이터 유형의 main() 함수 내부에 4개의 변수를 생성하고 dividend, divisor, quotient 및 remainder.라는 이름을 지정해야 합니다.

int main() {
  int dividend;
  int divisor;
  int quotient;
  int remainder;
}

이제 사용자에게 메시지를 표시하여 dividend 및 divisor라는 두 값을 입력한 다음 해당 값을 해당 변수에 저장하도록 요청합니다.

printf("Enter dividend: ");
scanf("%d", &dividend);
printf("Enter divisor: ");
scanf("%d", &divisor);

dividend를 divisor로 나누어 몫을 계산합니다. 또한 dividend modulus divisor로 나머지를 계산합니다.

quotient = dividend / divisor;
remainder = dividend % divisor;

마지막 단계에서는 방금 콘솔에서 계산한 몫과 나머지를 출력해야 합니다.

printf("Quotient = %d\n", quotient);
printf("Remainder = %d", remainder);

완전한 소스 코드:

#include <stdio.h>

int main() {
  int dividend;
  int divisor;
  int quotient;
  int remainder;

  printf("Enter dividend: ");
  scanf("%d", &dividend);
  printf("Enter divisor: ");
  scanf("%d", &divisor);

  quotient = dividend / divisor;
  remainder = dividend % divisor;

  printf("Quotient = %d\n", quotient);
  printf("Remainder = %d", remainder);
  return 0;
}

출력:

Enter dividend: 500
Enter divisor: 24
Quotient = 20
Remainder = 20