>  기사  >  백엔드 개발  >  C에서 정수를 나눌 때 부동 소수점 결과를 얻는 방법은 무엇입니까?

C에서 정수를 나눌 때 부동 소수점 결과를 얻는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-12 22:56:02761검색

How to Get a Float Result When Dividing Integers in C  ?

정수 나누기의 정밀도 손실: 부동 소수점 결과 얻기

정수가 나누어지고 부동 소수점 결과가 필요한 상황에서는 C 출력이 잘려서 데이터가 손실될 수 있습니다. 이 문제를 해결하려면 C의 정수 나누기 원리를 이해하고 부동 소수점 연산을 강제로 수행하는 방법을 구현하는 것이 중요합니다.

두 정수를 나눌 때 C는 정수 나누기를 수행합니다. 결과. 이 동작은 결과를 float 변수에 할당하는 경우에도 지속됩니다. 부동 소수점 결과를 얻으려면 나누기를 수행하기 전에 피연산자를 부동 소수점으로 캐스팅하는 것이 중요합니다.

해결 방법은 다음과 같이 코드를 수정하는 것입니다.

float ans = (float)a / (float)b;

두 피연산자를 캐스팅하여 부동 소수점 연산으로 나누기 연산이 수행되어 부동 결과가 나오도록 합니다. 그런 다음 계산된 답은 ans 변수에 저장됩니다.

수정된 코드 조각은 아래와 같습니다.

#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;  // Integer division
  cout << ans << endl;      // Float division
  return 0;
}

이 수정을 통해 이제 ans를 사용할 때 출력에 float 결과가 올바르게 표시됩니다. .

프로그래머는 정수 나누기 동작을 이해하고 캐스팅 솔루션을 구현함으로써 이러한 상황에서 부동 소수점 결과를 효과적으로 달성하고 정확한 계산과 원하는 출력 값을 보장할 수 있습니다.

위 내용은 C에서 정수를 나눌 때 부동 소수점 결과를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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