정확한 나눗셈을 위해 정수를 부동 소수점으로 변환
C에서 a/b와 같이 두 정수를 나누면 정수 몫이 생성됩니다. . 부동 소수점 결과를 얻으려면 피연산자를 부동 소수점으로 구체적으로 캐스팅해야 합니다.
문제 설명:
나누기 연산에서 정수 피연산자를 사용하면 결과가 다음으로 잘립니다. 정수. 이를 방지하고 숫자의 무결성을 어떻게 유지할 수 있습니까?
해결책:
이 문제를 해결하고 부동 소수점 결과를 보장하려면 피연산자를 부동 소수점으로 캐스팅하세요.
float ans = (float)a / (float)b;
피연산자를 부동 소수점으로 명시적으로 변환하면 나누기 연산에서 소수점을 보존하는 부동 소수점 결과가 생성됩니다. 정밀도.
예:
다음 코드를 고려하세요.
#include <iostream> #include <iomanip> using namespace std; int main() { int a = 10, b = 3; float ans = (float)a / (float)b; cout << fixed << setprecision(3); cout << (a/b) << endl; cout << ans << endl; return 0; }
출력:
3 3.333
위에서 볼 수 있듯이 , 캐스팅은 올바른 소수점 정밀도를 유지하면서 부동 소수점 결과를 보장합니다.
위 내용은 C의 정수 나누기에서 부동 소수점 결과를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!