>백엔드 개발 >C++ >3을 5로 나누면 0이 되는 이유는 무엇입니까?

3을 5로 나누면 0이 되는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-01 14:41:09262검색

Why Does Integer Division of 3 by 5 Result in Zero?

이중 저장에도 불구하고 0이 되는 나누기 문제

수치 연산에서는 관련된 피연산자의 유형을 고려하는 것이 중요합니다. 부동 소수점 숫자로 작업할 때 예상치 못한 결과를 피하기 위해 명시적인 유형 캐스팅이 필요할 수 있습니다.

제공된 코드 조각에서 3과 5 사이의 나누기 연산은 정수 피연산자를 사용하여 수행되어 정수 나누기로 이어집니다. 결과적으로 몫은 0이 됩니다. 원하는 부동 소수점 나누기를 얻으려면 피연산자 중 하나 이상을 double 유형으로 명시적으로 캐스팅해야 합니다. 수정된 코드는 다음과 같습니다.

#include <iostream>

int main(int argc, char** argv) {
  double f = 3.0 / 5;
  std::cout << f;
  return 0;
}

3을 double(3.0)로 캐스팅하면 컴파일러가 부동 소수점 나누기를 수행하여 예상되는 0이 아닌 값이 생성됩니다. 이는 정확한 결과를 얻기 위해 수치 연산에서 피연산자 유형에 주의를 기울이는 것이 중요함을 강조합니다.

위 내용은 3을 5로 나누면 0이 되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.