こんにちは私は長い倍精度でいくつかの計算をしようとしており、私はsqrt()関数からINFを取得しています。sqrt()がINFを返す
コード:
#include <math.h>
#include <stdio.h>
int main()
{
long double bigNUMBER;
long double p1,p2,p3;
long double p4;
p1 = 4.769547e+155;
p2 = 1.012994e+170;
p3 = 1.714812e+169;
p4 = p1*p1 + p2*p2 + p3*p3;
bigNUMBER = sqrt(p4);
printf("product: %Lf\n\n", p4); // 1055562645989439942507809393771156765931135...
printf("\n result %Lf\n\n", bigNUMBER); // INF
return 0;
}
ありがとうございます!
正常に機能しました。しかし、私はsqrtl()の参照が見つかりませんでした、それは標準的な関数ですか? –
@Murilo:はい、少なくともC99のためです。 – ninjalj
'sqrtf'、' sqrt'、 'sqrtl'のマニュアルページから明らかにC99とPOSIX.1-2001が標準です。 –