- 1 : 2021/10/25(月) 23:37:42.405 ID:D93xRKwF0
-
y = 0.28-0.27
print(y)を実行すると
0.010000000000000009
って出てしまうんだが、どうしたらいいの?
ヒントには、100倍してから計算するとか書いてあるんだけど
y = 0.28*100-0.27*100
しても誤差がでる
0.28とか少数を書くともうfloat型が使われてしまうの?
- 2 : 2021/10/25(月) 23:38:13.172 ID:FTjsGebb0
-
誤差をなくしたいの?
- 4 : 2021/10/25(月) 23:39:11.145 ID:D93xRKwF0
-
>>2
上のような小数の計算を誤差なく行いたい - 10 : 2021/10/25(月) 23:41:21.522 ID:FTjsGebb0
-
>>4
Rational型があるならそれを使うのが綺麗だな
ないなら、仮に直接0.01と打っても誤差は出る - 3 : 2021/10/25(月) 23:38:59.720 ID:NlLZbL2BM
-
Int(y)みたいなやつないん?
- 7 : 2021/10/25(月) 23:39:35.722 ID:D93xRKwF0
-
>>3
それだと切り捨てみたいな感じじゃないの? - 5 : 2021/10/25(月) 23:39:18.130 ID:mjwX5Vi40
-
decimalを使う
しらんけど
- 6 : 2021/10/25(月) 23:39:29.584 ID:/rZMGfBp0
-
decimalでググれ
- 8 : 2021/10/25(月) 23:39:54.649 ID:ijNLeAhO0
-
弟子丸
- 9 : 2021/10/25(月) 23:41:12.134 ID:/rZMGfBp0
-
y=(int(0.28*100)-int(0.27*100))/100
でもいける - 13 : 2021/10/25(月) 23:43:08.569 ID:D93xRKwF0
-
>>9
こういう計算で、int使っても大丈夫なの?切り捨ててるような感じがしてしまうんだけど
- 15 : 2021/10/25(月) 23:44:55.247 ID:mIgnNzij0
-
>>9
引き算は誤差が出て割り算は出ないの? - 17 : 2021/10/25(月) 23:46:08.216 ID:/rZMGfBp0
-
>>15
出ない
無理数なら電卓と一緒 - 11 : 2021/10/25(月) 23:41:38.321 ID:D93xRKwF0
-
decimal型宣言の変数を作って、それに0.28や0.27を代入して引き算?
- 12 : 2021/10/25(月) 23:42:28.920 ID:FTjsGebb0
-
良さそう
- 14 : 2021/10/25(月) 23:44:53.326 ID:D93xRKwF0
-
y = decimal(0.28-0.27)
ってやったら定義されてないとかエラーでたよ
- 18 : 2021/10/25(月) 23:46:46.211 ID:Xy//+/HUd
-
2進数で10進少数を表すのには限界がある
3進数の0.1は10進数で1/3=0.333………だろ?
無限小数になってしまう - 19 : 2021/10/25(月) 23:47:33.913 ID:D93xRKwF0
-
y = 28-27
y = y / 100
print(y)
ってやってみたけど、これじゃない感があるな
- 20 : 2021/10/25(月) 23:49:12.030 ID:nF+l3svb0
-
コンピューターで小数を扱う際の基本から勉強すべき
- 21 : 2021/10/25(月) 23:49:30.887 ID:/rZMGfBp0
-
もし小数点以下の桁数がバラバラなら
s=str(n-int(n))
# 0と小数点引くから-2
keta=len(s)-2
してさっきの×100してるところを10**ketaに置き換えろ - 25 : 2021/10/25(月) 23:54:15.568 ID:D93xRKwF0
-
>>21
1行目は小数点以下を文字列日にして3行目で「0.」のところ以外の小数点の桁数をとって
というところはわかったけど、10**kataは?
- 22 : 2021/10/25(月) 23:50:24.072 ID:vczXkbVxa
-
y = 0.28-0.27
pant(y) - 24 : 2021/10/25(月) 23:54:10.679 ID:/rZMGfBp0
-
実際俺は
y=round(0.28-0.27, 2)
みたいな使い方することが多いわ - 29 : 2021/10/26(火) 00:02:25.018 ID:aw81lzQ20
-
浮動小数点の丸め誤差だろ
マジで知らねえのか - 30 : 2021/10/26(火) 00:03:03.532 ID:aw81lzQ20
-
基本情報の範囲だぞそんなの
- 31 : 2021/10/26(火) 00:03:22.588 ID:F6s7ABLb0
-
有効桁数違うもの演算したらどうなるの?
- 34 : 2021/10/26(火) 00:05:15.441 ID:F6s7ABLb0
-
演算結果に対して強制で有効桁数増やすことできる?
- 35 : 2021/10/26(火) 00:06:17.400 ID:BIzmU+bY0
-
質問ばっかで流石に疲れた
- 37 : 2021/10/26(火) 00:40:46.332 ID:Xv9fsHrv0
-
Roundの偶数方向に丸めるとかいう意味不明クソ仕様
- 39 : 2021/10/26(火) 00:48:45.190 ID:hAsGBmY50
-
コンピュータに実数も小数もない
ライブラリを使わない限りあるのは整数と浮動小数点数だけ
コメント