이중 저장에도 불구하고 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!