• ベストアンサー

pop()関数について

chie65536の回答

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

15の15乗はdoubleの精度を超えます。 doubleの精度は52ビットで、10進数で15桁です。 なので、頭から15桁の「437893890380859xxx」までは保証されますが、下位3桁は不正確になります。 Borland BCCでは、long doubleの精度は64ビット、10進数で19桁ですから、long double型のpowl()関数を使いましょう。 Borland BCCで #include <math.h> #include <stdlib.h> #include <stdio.h> void main(void) { long double d; d=powl(15.0L,15.0L); printf("%.20Lg\n",d); } をコンパイルして実行すると 437893890380859375 と表示されます。 そして #include <math.h> #include <stdlib.h> #include <stdio.h> void main(void) { double d; d=pow(15.0,15.0); printf("%.20g\n",d); } をコンパイルして実行すると 437893890380859392 と表示され、精度が不足しているのが判ります。 なお、VC++では、doubleとlong doubleは「同じ精度」ですので、上記のプログラムはどちらも 437893890380859392 と表示されます。

bluckb1
質問者

お礼

補足も含めてわかりやすい説明をありがとうございました!

関連するQ&A

  • 累乗の筆算による計算

    累乗の筆算による計算法について知りたく質問しました。 指数部分に少数点のある累乗計算の答えをを関数電卓や計算尺を使わずに回答を導き出す事は難しいでしょうか。 例えば、2の2.5乗を計算する場合はどういう式を使うのでしょうか。

  • VBAで・・・

    累乗の計算がしたいのですが・・・ 10の7乗  ってどう入力したらいいですか? 10^7  ではできないですよね・・・?

  • Java、2の0乗~10乗の表示

    Javaのプログラムで 2の0乗~10乗までを改行表示したいのですが、for文を使って書かなければいけません。 まだ学んでいませんが累乗を計算する構文もあるようですが、それを使わずにfor文で2の0乗~10乗まで表示したいです。 1乗~10乗までは出来たのですが、0乗を含めることがどうしても出来ないので、回答お待ちしています。

    • ベストアンサー
    • Java
  • ポケコンの関数計算について

    ポケコンの関数計算について ポケコンの関数計算の入力がよく分かりません。 添付した画像の問題は↓この入力でいいんでしょうか? -4.76+(4.83*(COS(1/6*PI)^2))/(3.57-8.64*SQR(SIN(5/7*PI))) ●cosのあとの2乗を入力する場合、cosから2乗のところまではカッコをつけたほうが良いのか ●○分の○かけるπ とゆうときはその部分だけカッコでかこむのか ・・・とゆう2点がわかりません。 そのほかにも間違えやアドバイスがあれば答えて下さると嬉しいです。 分かり辛い文章ですみませんっ!

  • エクセル関数で三乗根

    エクセルの関数で 三乗根を計算する式って実現出来るのでしょうか? もしご存知の方がいらしたら、どうやったら計算式を入力できるか、是非教えて下さい。 また、出来る場合5乗根や6乗根など更なる多乗根の計算式の表現方法も合わせて教えていただきたく! 宜しくお願いします!

  • 関数が解りません

    エクセル関数でセルに値が入力された時は値/10の計算をして 何もない時は空白ただし0が入力された時は0を表示したい

  • 累乗を含む計算

    1/2*3*10^-27*100^2-1/2*3*10^-27*200^2 を計算したいのですが累乗の計算はどのようにやると良いのでしょうか。 10のマイナス27乗×100の2乗などの計算の方法を知りたいです。

  • デルタ関数について

    デルタ関数δ(x)を-∞~∞まで積分すると1になるというのは分かるのですが、 デルタ関数の2乗を-∞~∞まで積分するとどうなるのでしょうか? 私の考えでは、δ関数はx≠0のとき0の値を持ち、x=0のとき∞の値を持つのですから、 δ関数を2乗しても∞の∞乗=∞で積分値は1のままなんじゃないかと考えました。 友人の考えは、x=0付近に幅h、縦1/hの長方形を考え、h→0としたのが δ関数であるから、δ関数を2乗すると縦の長さが(1/h)^2=∞^2になり、 積分値も∞倍されるのではないかというものでした。 定義できない、計算できないのではないか、という友人もいましたが、 実際はどうなのでしょうか? 分かりにくい説明で申し訳ありませんが、ご存知の方ご教授下さい。

  • VLOOK関数で参照してきた数に、新たに計算関数を入力したいのですがど

    VLOOK関数で参照してきた数に、新たに計算関数を入力したいのですがどうすればいいですか? A1に太郎と入力した時に、C1に1と表示されるようにしました。その時空白だっだセルB1に数字を 入れた時、VLOOK関数で表示されているC1の数字1をB1にいれた数字かけるC1で表示させたいのですが、どうすればいいですか教えてください。

  • 累乗の計算の仕方

    累乗の計算の仕方で迷っています。 たとえば、-0.1の0.1乗はどうやって計算するのでしょうか? よろしくおねがいします。