
No.1ベストアンサー
- 回答日時:
int()は実数値の整数部分だけを取り出す関数です。
合わないのは小数の誤差ですね。コンピューターは2のべき乗の和で表せる数値しか正確に表現できません。べき乗を ^ と書くと。
9.53=2^3+2^0+2^(-1)+2^(-6)+2^(-7)+2^(-8)+2^(-9)…
と無限に続き、正確には表せません。無限に続くのを途中で打ち切って10進数で書くと
9.52999999…
となります。
したがって、100倍して整数部分をとれば952になります。
解決方法としては、
案1) 小数点以下の値が出てこないように工夫して使う
案2) int(x+0.0000001) のようにする
この回答へのお礼
お礼日時:2006/03/05 20:18
明快なお答えをありがとうございました!
そんな深いこと理由があったのですね。
簡単なCの本には載っていませんでした。
お聞きしなかったら,私には分からなかったと思います。
深く感謝いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェルスクリプトで、空白(ス...
-
python print文のエラー
-
I2C接続のLCDディスプレイを使う
-
awkの正規表現での最左最短マッ...
-
文字のカラーとフォントの指定...
-
【至急!!!】python言語で本を見...
-
Pythonでコンソールをクリアす...
-
switch文のエラーについて
-
16進の10進変換について
-
UWSCのSELECT文の記述方法
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
文字の横にプルダウンを表示さ...
-
実行時エラー 3020の対策
-
formで特定のinputを送信しない...
-
メモリをアドレスを直接指定し...
-
セレクトメニューで2つの項目...
-
<SELECT>タグの折り返し
-
実行中の変数の中身をイミディ...
-
セレクトボックスのselected属...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シェルスクリプトで、空白(ス...
-
16進の10進変換について
-
I2C接続のLCDディスプレイを使う
-
Pythonでコンソールをクリアす...
-
pythonの*
-
c言語 16進数の2進数への変換
-
条件文の扱い方について
-
関数「exists」と「defined」の...
-
【至急!!!】python言語で本を見...
-
ファイルに書き込む
-
EUCで保存されたスクリプトにて...
-
Perl・正規表現が分かりません
-
改行
-
perlの型と8進数、10進数
-
ソートを利用して文字を昇順で...
-
配列 各項目を$n倍するプログ...
-
表という文字の扱いについて
-
シェルスクリプト+perl
-
ポーリングとHTMLデータのリロ...
-
awkの正規表現での最左最短マッ...
おすすめ情報