
| 一 括 講 読 |
|---|
理解できない計算結果を出力して困っています。
投稿者:石松
(10/07/23(金) 10:18) sndr2.swgproxy.osakac.ac.jpHSP 3.2.1をWindows7の64bit版で使用しています。 下記2つのプログラムを作りましたが、計算値に誤差があるようです。 for i,0,8,1 atai=powf(2,i) mes "2の " + i + " 乗は " + atai + " です。" next 上記のプログラムの値は下記になります。 2の 0 乗は 1.000000 です。 2の 1 乗は 2.000000 です。 2の 2 乗は 4.000000 です。 2の 3 乗は 8.000000 です。 2の 4 乗は 16.000000 です。 2の 5 乗は 32.000000 です。 2の 6 乗は 64.000000 です。 2の 7 乗は 128.000000 です。 この値は正しいのですが、整数にすると理解できない値を出力します。 そのプログラムは、下記になります。 for i,0,8,1 atai=int(powf(2,i)) mes "2の " + i + " 乗は " + atai + " です。" next 上記のプログラムの値は下記になります。 2の 0 乗は 1 です。 2の 1 乗は 2 です。 2の 2 乗は 4 です。 2の 3 乗は 7 です。 2の 4 乗は 16 です。 2の 5 乗は 32 です。 2の 6 乗は 63 です。 2の 7 乗は 128 です。 なぜ、2の3乗の値が7で、2の6乗が63になるのかが理解できません。 解決策を教えてください。 |
Re: 理解できない計算結果を出力して困っています。
投稿者:ANTARES
[Link] (10/07/24(土) 05:10) softbank219187188037.bbtec.net
|
Re^2: 理解できない計算結果を出力して困っています。
投稿者:石松
(10/07/26(月) 09:39) sndr2.swgproxy.osakac.ac.jp
|
Re^3: 理解できない計算結果を出力して困っています。
投稿者:ANTARES
[Link] (10/07/27(火) 00:31) softbank219187188032.bbtec.net>教えていただいた方法で解決はするのですが、 >これってHSPのバグのような気がしませんか。 C++で同じことをやって、どうなるか試してみようかと思いましたが、 仮に私がバグだと思っても開発担当者がバグだと思わなければ 意味がないのでやめました。 |
Re^4: 理解できない計算結果を出力して困っています。
投稿者:ANTARES
[Link] (10/07/27(火) 02:00) softbank219187188032.bbtec.net結局、バグと言えば、まあバグなのでしょうが、 HSPのバグかAPIのバグかは調べてみないとわからないということです。 |
Re^5: 理解できない計算結果を出力して困っています。
投稿者:石松
(10/07/27(火) 09:18) sndr2.swgproxy.osakac.ac.jpANTARESさんのおっしゃるとおりだと思います。 しかし、プログラミング初心者マークの者としては、算数で習ったとおりの答えがほしいものですね。 > 結局、バグと言えば、まあバグなのでしょうが、 > HSPのバグかAPIのバグかは調べてみないとわからないということです。 |
Re^6: 理解できない計算結果を出力して困っています。
投稿者:20100730
(10/07/30(金) 18:16) p7153-adsao01yokonib1-acca.kanagawa.ocn.ne.jp
|
Re: 理解できない計算結果を出力して困っています。
投稿者:ANTARES
[Link] (10/07/24(土) 04:58) softbank219187188037.bbtec.net
|