HSP3掲示板
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿時間:10/07/23(金) 10:18
投稿者名:石松
Eメール:
URL :
HOST:sndr2.swgproxy.osakac.ac.jp
タイトル:理解できない計算結果を出力して困っています。

HSP 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になるのかが理解できません。

解決策を教えてください。


- 以下は関連一覧ツリーです -
- 理解できない計算結果を出力して... - 石松 10/07/23(金) 10:18 No.8580

このメッセージに返信する場合は下記フォームから投稿して下さい

おなまえ
Eメール (現在この項目の入力は無効です)
題   名
メッセージ    手動改行 強制改行
URL
削除キー (記事削除時に使用。英数字で8文字以内)
プレビュー

以下のフォームから自分の投稿した記事を削除できます
■記事No ■削除キー



- Web Forum -