- 1 : 2021/07/07(水) 13:35:27.06 ID:AmjNftH200707
-
あるfloatが別のfloatの整数倍であることを判定するにはどうすればええんや?
例えば1.5fが0.5fが3倍であるのを判定するとか
浮動小数点による誤差が気になって夜も眠れないンゴ - 2 : 2021/07/07(水) 13:35:43.84 ID:AmjNftH200707
-
助けてクレメンスなあ
- 3 : 2021/07/07(水) 13:35:54.91 ID:N8PwboCu00707
-
差が一定以下ってすればええやろ
- 5 : 2021/07/07(水) 13:37:09.46 ID:AmjNftH200707
-
>>3
その一定のラインはどこや?
1.50005みたいな場合はちゃんと整数倍でないとしたい - 20 : 2021/07/07(水) 13:38:39.08 ID:N8PwboCu00707
-
>>5
浮動小数点による誤差レベルの誤差は違うと判定したいんか?
誤差が浮動小数点由来かどうかまではわからんから大きさで区切るしかないで
元の数字の何%を誤差の上限にするとか - 33 : 2021/07/07(水) 13:41:03.10 ID:AmjNftH200707
-
>>20
あまりに小さい桁は無視できる
ほな小数点何桁で区切ればええんや - 41 : 2021/07/07(水) 13:41:57.95 ID:N8PwboCu00707
-
>>33
だからどこで切るかは君次第や - 45 : 2021/07/07(水) 13:43:09.51 ID:CinSyJeEM0707
-
>>33
素直にRational型使え
そもそも根本的にfloatの使い方間違ってる - 49 : 2021/07/07(水) 13:43:46.98 ID:AmjNftH200707
-
>>45
なるほど - 50 : 2021/07/07(水) 13:43:58.23 ID:MV9GNpk+00707
-
>>33
お前が!決めろや!そのラインを!! - 51 : 2021/07/07(水) 13:44:20.49 ID:MV9GNpk+00707
-
>>33
ハゲ! - 25 : 2021/07/07(水) 13:39:23.05 ID:MV9GNpk+00707
-
>>5
そのラインはお前が決めるんや - 4 : 2021/07/07(水) 13:36:19.26 ID:AmjNftH200707
-
こうして保守しておくンゴから
- 7 : 2021/07/07(水) 13:37:32.09 ID:0hlYZ0zad0707
-
簡単だわ
浮動小数店をいじればレバレッジが効いて反発するだろ - 10 : 2021/07/07(水) 13:37:59.90 ID:AmjNftH200707
-
>>7
お前さん、さては素人メンスな? - 8 : 2021/07/07(水) 13:37:35.47 ID:oH9yAdARd0707
-
いいよなんでもきいて
- 16 : 2021/07/07(水) 13:38:21.87 ID:AmjNftH200707
-
>>8
1に書いたで
答えてクレメンス - 28 : 2021/07/07(水) 13:40:10.18 ID:oH9yAdARd0707
-
>>16
def integer?(x)
x==x.to_i;
end - 35 : 2021/07/07(水) 13:41:17.86 ID:vIm6W/dxd0707
-
>>28
それrubyじゃん… - 9 : 2021/07/07(水) 13:37:53.87 ID:ZF8GofDWM0707
-
判定してくださいってお願いする
- 11 : 2021/07/07(水) 13:38:12.48 ID:ya+VPuKY00707
-
オペレーターオーバーライドして自前で判定処理つくればええやん
- 12 : 2021/07/07(水) 13:38:13.42 ID:E+krzhtoM0707
-
floatである必要性はあるの?
- 22 : 2021/07/07(水) 13:38:58.80 ID:AmjNftH200707
-
>>12
ダブルかなんかでもいい
でも小数であるのは必須や - 13 : 2021/07/07(水) 13:38:16.10 ID:7h2oIzF/00707
-
なんUにもプログラミング部あるから
- 14 : 2021/07/07(水) 13:38:17.63 ID:BCewuGXh00707
-
浮動小数点の誤差はどうやってもついてくるから正確な判定は無理
- 15 : 2021/07/07(水) 13:38:18.92 ID:i0WzIVLuM0707
-
割ればええんちゃう
余りとか駆使すればいけるやろ - 26 : 2021/07/07(水) 13:39:29.19 ID:AmjNftH200707
-
>>15
余りに誤差は生じないのか? - 17 : 2021/07/07(水) 13:38:26.55 ID:0hlYZ0zad0707
-
フロートがダメならあれを使ってあれだよ
CSSのあれ
えーっと・・ - 18 : 2021/07/07(水) 13:38:27.61 ID:oH9yAdARd0707
-
質問がないなら帰るよ
- 19 : 2021/07/07(水) 13:38:34.93 ID:BwYiCSNzd0707
-
×3してifで判定する
- 21 : 2021/07/07(水) 13:38:51.68 ID:tvAORP2h00707
-
割った答えが自然数やったらええんちゃうの
- 23 : 2021/07/07(水) 13:39:01.84 ID:TosVHM9E00707
-
GitHub copilotや
- 24 : 2021/07/07(水) 13:39:11.00 ID:0hlYZ0zad0707
-
アバンギャルドじゃなくて・・
- 27 : 2021/07/07(水) 13:39:46.59 ID:cEx4YaKra0707
-
浮動小数点の誤差ほんまうんち
2進数で小数表現するもっといい方法ってないんかな - 32 : 2021/07/07(水) 13:40:55.69 ID:li02Bh/C00707
-
>>27
固定小数点とか言うのが過去にはあったし今も探せばあるやろ - 39 : 2021/07/07(水) 13:41:41.86 ID:9NIKNP6t00707
-
>>27
decimal型「decimal型」 - 29 : 2021/07/07(水) 13:40:12.12 ID:li02Bh/C00707
-
浮動小数点の仕様を理解しようで
- 30 : 2021/07/07(水) 13:40:20.43 ID:caa+qa7oM0707
-
余り0じゃだめなん?
- 31 : 2021/07/07(水) 13:40:39.32 ID:9NIKNP6t00707
-
バイトに変換して一致してるかとか見ないとあかんのとちゃう
メリットを感じないが - 34 : 2021/07/07(水) 13:41:11.46 ID:ya+VPuKY00707
-
どこまで誤差許容するかはお前次第やろ
- 36 : 2021/07/07(水) 13:41:23.17 ID:cxKmPUgw00707
-
floatで剰余使えなくね
- 37 : 2021/07/07(水) 13:41:36.31 ID:CinSyJeEM0707
-
出来なくはないけど意味ない
- 38 : 2021/07/07(水) 13:41:41.86 ID:Xp7W6gZJp0707
-
判定用に整数を用意するんや
- 40 : 2021/07/07(水) 13:41:56.91 ID:yvI+B6A300707
-
x = 0.5 * 3
print xこれでオッケーや
- 42 : 2021/07/07(水) 13:42:10.16 ID:b4c0jRgf00707
-
整数で言うa % b == 0をしたいってことか?
ほなら
var rem = a & b;
if (rem <= 0.5)みたいな感じでええんちゃうの? - 44 : 2021/07/07(水) 13:42:58.57 ID:b4c0jRgf00707
-
>>42
&打ち間違えで%や - 48 : 2021/07/07(水) 13:43:29.53 ID:AmjNftH200707
-
>>42
すまん、なんやそれ - 55 : 2021/07/07(水) 13:45:28.20 ID:b4c0jRgf00707
-
>>48
余りが0やと対象の倍数ってことやん - 62 : 2021/07/07(水) 13:47:27.67 ID:AmjNftH200707
-
>>55
それやと1.8も0.5の整数倍になるで
余りがどれだけ小さい時に整数判定するかのラインがわからんねゎ - 71 : 2021/07/07(水) 13:48:47.46 ID:CinSyJeEM0707
-
>>42
それ小さいとだめじゃね? - 43 : 2021/07/07(水) 13:42:32.11 ID:9NIKNP6t00707
-
言語によっては浮動小数点の型によるレベルの誤差は無視して等しいとかやったりせんかな?
- 47 : 2021/07/07(水) 13:43:23.53 ID:w+2u42xNM0707
-
>>43
方によるレベルの誤差をどう判定すんねん
かってに決められたら困るわ - 52 : 2021/07/07(水) 13:44:28.17 ID:li02Bh/C00707
-
>>43
ぶっちゃけ処理系にもよるから何とも言えんわ
floatを比較すること自体気持ち悪い人間はいる - 46 : 2021/07/07(水) 13:43:16.37 ID:i0WzIVLuM0707
-
実際企業とかの実用的なプログラミングするときって有効桁制御するからな
その状況自体矛盾してるような - 54 : 2021/07/07(水) 13:45:18.36 ID:CinSyJeEM0707
-
>>46
計算するようなのはそもそも任意精度とかやるよ企業とかでは
一般のアプリケーションでfloatの値受け取るとかの話ならそもそも有効桁の考慮すらしない - 53 : 2021/07/07(水) 13:45:13.90 ID:0hlYZ0zad0707
-
phpを
- 56 : 2021/07/07(水) 13:45:28.52 ID:YwtXoAsF00707
-
たまに知恵袋になるよな
- 57 : 2021/07/07(水) 13:45:31.43 ID:0hlYZ0zad0707
-
わかりませんすいませんでした
- 58 : 2021/07/07(水) 13:45:36.72 ID:eb4GQgm0M0707
-
ユニバーサルメルカトル図法を使えば
- 59 : 2021/07/07(水) 13:46:06.77 ID:aq8QFyQg00707
-
そこまで厳密に計算せなあかんのか
- 60 : 2021/07/07(水) 13:46:13.55 ID:ya+VPuKY00707
-
そもそも正確な整数倍判定とりたいなら整数つかいなよ
浮動小数点数でそんな事しようとしてる時点でなんかおかしいで - 64 : 2021/07/07(水) 13:47:57.17 ID:cdYfsGYgM0707
-
>>60
これやな
誤差出てもどうせ切り捨てるわけやし - 61 : 2021/07/07(水) 13:47:22.84 ID:WY6PM4NI00707
-
x ÷ y = z だとしてZが整数かどうか判断したいって事?言語はc?
- 66 : 2021/07/07(水) 13:48:13.33 ID:AmjNftH200707
-
>>61
c# - 63 : 2021/07/07(水) 13:47:54.59 ID:17VQv7Xg00707
-
そんな簡単なこともわからないのか…
- 65 : 2021/07/07(水) 13:48:00.18 ID:li02Bh/C00707
-
信号処理くらいでしか使わんわなぁ
それすら整数で考えた方がメリットが多いし - 67 : 2021/07/07(水) 13:48:21.50 ID:eb4GQgm0M0707
-
言語にもよるけど浮動小数点用の関数とか標準であるやん
- 68 : 2021/07/07(水) 13:48:25.29 ID:buiMPNdo00707
-
decimal型にすれば
- 84 : 2021/07/07(水) 13:50:58.07 ID:AmjNftH200707
-
>>68
コレメンスか?
floatはdecimalにすると遅いとかあるんかな - 69 : 2021/07/07(水) 13:48:33.40 ID:9lxDE8hf00707
-
mod
- 70 : 2021/07/07(水) 13:48:36.01 ID:ya+VPuKY00707
-
どうしてもやりたいなら大抵の言語はイプシロンとか定義されてるやろ
- 73 : 2021/07/07(水) 13:49:09.08 ID:aq8QFyQg00707
-
decimalかdoubleじゃあかんのか?
- 74 : 2021/07/07(水) 13:49:19.02 ID:CinSyJeEM0707
-
だからRational使えって
- 75 : 2021/07/07(水) 13:49:31.53 ID:N8PwboCu00707
-
もしあれならなんか数値と誤差を持った型を作って、演算ごとに誤差が累積するようにして、比べるときにはその誤差の範囲内にあれば等しいようにするとか?
- 76 : 2021/07/07(水) 13:49:32.42 ID:00fb1U7uM0707
-
Float型とか使わんわ
Doubleばっか - 78 : 2021/07/07(水) 13:49:59.54 ID:2c+PwInIH0707
-
割って整数かどうかジャッジ
- 79 : 2021/07/07(水) 13:50:01.45 ID:fN6y/h7m00707
-
宿題をなんJで解決するのやめろ
- 81 : 2021/07/07(水) 13:50:31.87 ID:txFgbCnFM0707
-
10進数に最適化されたCOBOLっていう言語があるんですよ
- 82 : 2021/07/07(水) 13:50:43.73 ID:9NIKNP6t00707
-
c#ならdecimalでええんとちゃうの?
- 83 : 2021/07/07(水) 13:50:45.68 ID:N8PwboCu00707
-
誤差持った型でも作らない限り、元々の誤差なのか計算から来た誤差なのかの判別はつかんて
コメント