> 백엔드 개발 > C++ > C에서 모듈러스 연산자가 Double과 작동하지 않는 이유는 무엇입니까?

C에서 모듈러스 연산자가 Double과 작동하지 않는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-06 18:39:17
원래의
510명이 탐색했습니다.

Why Doesn't the Modulus Operator Work with Doubles in C  ?

이중 값과 모듈러스 연산

프로그래밍에서 모듈러스 연산자(%)는 한 숫자를 다른 숫자로 나눌 때 나머지를 계산합니다. 그러나 C에서는 두 개의 배정밀도 부동 소수점 숫자(더블)에 모듈러스 연산을 적용하려고 하면 오류가 발생합니다.

다음 코드는 이 문제를 보여줍니다.

int main() {
    double x = 6.3;
    double y = 2;
    double z = x % y;
}
로그인 후 복사

컴파일 시 이 코드는 오류를 생성합니다.

error: invalid operands of types 'double' and 'double' to binary 'operator%'
로그인 후 복사

이 오류는 모듈러스 연산자가 정수 피연산자에 대해서만 정의되기 때문에 발생합니다. 복식의 경우 동등한 함수는 fmod()입니다. double 값과 함께 모듈러스 연산을 사용하려면 다음과 같이 fmod()를 사용하십시오.

#include <cmath>

int main() {
    double x = 6.3;
    double y = 2.0;
    double z = std::fmod(x, y);
}
로그인 후 복사

위 내용은 C에서 모듈러스 연산자가 Double과 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿