[記事一覧]  [編集][削除] 3164

[ネタ]
Xperiaの電卓機能で「6.8」が「6.799999999999」になるバグ発見+387
投稿日時 2010-10-08 15:46:19 (bfeqei)   [4気になる]  [5興味無い]

http://internet.watch.impress.co.jp/docs/yajiuma/20101008_398652.html
7472.4 - 7465.6 = 6.799999999999
これをバグといって騒ぐ情弱がいて面白い
内部的に2進数を使ってるコンピューターだとこれは正しい動作だ。それを知らずに「バグだバグだ」と騒ぐバカユーザーがいるので、優しいプログラマ様が最後の桁を四捨五入してやってんだよ。

(やじうまWatch)

参照されているニュース◇ Windowsの標準電卓で4の平方根が2でなかった仕様がようやく修正

この記事に対するコメント

[#1] (ehvlzk) 1=0.9999999999999999.... の等式は成り立ちますけどね。

[#2] (imculr) バグだな

[#3] (jznhcv) バグだろ。ニュー作は何が言いたいんだ?

[#4] (drekhh) つーか、ネタ元はそれだろうけどリンク先は がいいと思う。

[#5] (uawcpr) の『NTT docomoさんを無視して、自社だけではアップデートできないので・・・。』という言葉が可哀想。

[#6] (zoxugt) 電卓のバグとしてはポピュラー

[#7] (mdbfkf) ニュー作は最近#1の証明を知って調子にのった厨二病

[#8] (gswqzu) #5のリンク先 > 電卓アプリのパッケージ名を見る限り、電卓アプリは (ソニエリ製ではなく)android標準のもののようですね。  むう。 ニュー作はもしかしてtyperさん?

[#9] (vspmog) バグだねえ。浮動小数点でも何回か続けないとズレないし、電卓でソレを出したらバグだし。

[#10] (vspmog) あ、#1の件は 1÷3×3=1、1÷3=0.333・・・・の件ですやね? 引き算では起こらないよね…

[#11] (irsilm.) javaパクってるんだからBIGDECIMAL使えばいいだけじゃねえの。良く知らんけど

[#12] (jbhcgo.) 仕様です

[#13] (bfeqei) #7 プログラマには常識だ。知らんやつが実数-実数 == 0 でバグる。

[#14] (imculr) #13 プログラマなら数値を全角で書かない。

[#15] (qygqch) バグだろ。アホくさ…

[#16] (igykde) これ自体は仕様でしょ。 対応するかしないかは別として

[#17] (bulsjj) #13の理屈でいくと、6.8と結果が表示される電卓の方がバグ有りの粗悪品扱いになるわけか。

[#18] (tphpxe) 有限回で打ち切ってる時点でバグだろ。正しくないんだから。

[#19] (vprexd) 仕様と言い訳する馬鹿どもは死んでしまえ

[#20] (hopvrf) 百科事典の誤字脱字みたいな物だなと感じる。当然あるようなものだけど、指摘があったら修正される。

[#21] (xdlpbh-) そもそもバグと仕様の区別は技術的な話ではないだろう。要求仕様に書かれているか、書かれていなければ社会通念に照らして、どうなのか。ニュー作は少なくとも、社会人は失格だ。

[#22] (hnqcja) #13 例え仕様だとしても、それで割り切るプログラマは問題有ると思うよ。 情報出身で簡単なプログラムはしてたけど、このレベルは学生でも要修繕レベルだったし

[#23] (cqufwj) 例えば、0.1は二進数で表せば無限小数になる。その為0.1を10回足しても1にはならない。「0.1を10回足しても1にならないからバグだ」と言えば全ての2進数を内部データとして扱う言語はバグがあるってことか?

[#24] (qlrpbf)  仕様バグと言えば、皆さん納得ですか?

[#25] (nbyhvv) #23 あたりまえ

[#26] (ylcrim) #24 日常的に使っている言葉だ。そして、バグは直されるべきもの。

[#27] (pujdjt) #23 浮動小数点ならそうなる。コレは仕様。 電卓はそうなってはいけない。コレも仕様。 両者とも内部は2進数かもしれんが、仕様のほうが問題 ……じゃないかしら?

[#28] (mvnuxr.) 普通の日常生活で普通に筆算すれば普通に6.8って表記する性質のもんなんだから、しのごの言ってねーでとっとと直せって話だな

[#29] (fzaboi) こんな仕様、N88の昔からありますがな。当時は1-0.25-0.25-0.25-0.25ですら巧く計算できなかったけどさ。

[#30] (pujdjt) #29 使った言語の仕様がマズかろうと、[電卓]を所望しているわけだから、それをプログラムするなら小数点位置を別途計算してでも誤差を無くすべき…って話じゃないの?

[#31] (pfdyna) #30 「電卓」はそもそも「数学的に必ず正しい答えが出る」ほど立派な機械じゃないと思うんだ。 この件については普通の電卓だと正しいっぽい答えが出るってだけで。

[#32] (ujaevf) 数学て。#29のなんて算数の範囲だろうに。

[#33] (sltlbj) 言語の仕様だから問題ない とか言ってるのが的外れだと気づくべき。 オレもプログラマの端くれだけど、言語的な仕様でも、通常使用時に問題が発生する所は直して出す。 そうじゃないとお客さんの信用失くして仕事なくなるしね。

[#34] (lqpbak) #23のように内部の言語仕様まで知っていれば#0は単なる言語仕様だと分かる。そんなことも知らないクソユーザーが「バグだバグだ」と騒ぐから、優しいプログラマー様が、有効桁より1つ多く計算して最後の桁を四捨五入してやってんだよ。ボケユーザー共め。

[#35] (hopvrf) 語られているのはバグって言う言葉の問題のような気もするが、欠陥ではあるけどバグではないみたいな。

[#36] (lqpbak) #32がプログラマでないことだけは分かった。十進数では0.25でも2進数で表すと無限少数になるから、内部精度で最後の桁が切り捨てられて誤差が出るんだよ。

[#37] (lqpbak) プログラマが見りゃこんなの何が原因かすぐ分かる「手抜いたな」。それを、「これじゃ、電卓の信用問題になってしまう。」とか「計算結果が信用できない計算機は、使用できませんね。」とか言ってるユーザー見ると笑ってしまうだけ。#0のリンク先でも分かってるやつは分かっているがな。

[#38] (pfdyna) まぁプログラミングやってると一度は見聞きしたり、自分でぶち当たる話だよね。プログラマ倫理的にはきっちりしておくべき問題だけど、実用面で障害が出る事ってあるんだろうか。

[#39] (rvbgph) 気に入らないなら別app入れればいいだけなんだよね。それがsmartphoneの自由さなんだし。その選択肢が増えただけでも良しとしなければ。

[#40] (lqpbak) 内部的に2進数を使ってるコンピューターとしては#0は正しい動きだ。それを理解できないバカユーザーのために優しいプログラマーが最後の桁を四捨五入してるんだよ。ありがたく思え!ボケユーザー。

[#41] (ehvlzk) "%.3f" って書いてるだけだけど。

[#42] (gqvdii) 技術的な理解力とプロとしての優秀さは必ずしも一致しないということがよくわかりますね。

[#43] (rjdtzd) プロとしての優秀さ(笑)

[#44] (cjxubd) プログラム以外にも共通する事だけど、自分が人より出来る分野で「このぐらいも分からない奴が愚か」みたいな人が怖い。 自分が初めてプログラムを触った時、触る前の気持ちを忘れてしまってるんだろうね。 分からない人を見たときに、昔の自分と比較してどうしても責める事が出来ないわ。

[#45] (wftbju) #31 それだと[電卓]が経理につかえませんが…すくなくとも[電卓]はMS系の言語やアプリにある[通貨型]と同等じゃないといけないのではないかしら?

[#46] (uyevss) #45 経理程度で「数学的に正しい」ってレベルの考えの人なら、何使ってもいいんじゃないですか。

[#47] (lvokdp) 今のPCの仕様だと桁あふれ丸め誤差など色々あるんだよ。決して万能なものじゃない。 金融のシステムとかは厳密性が要求されるから、それ相応の金を支払って対応させてる。 まぁそれなりに金の掛かる話なんだわ。

[#48] (ihtelk) #0必死だなw

[#49] (cjxubd) #0が修正されてる事に今気づいた。 そんなに反発するなら「バグに見える仕様」は全部そのままで出すといい。 一生仕事来なくなると思うけどね

[#50] (obzxgq) #36 0.25が2進数で無限小数になる根拠を教えてください

[#51] (jgmigw) #0 今更ながら投コメ修正するところ見ると、投稿時点では理屈理解してなかったんだろうなあ。

[#52] (ztwnus) #51 このくらい言わなくても分かるだろうと思ってたら、全然分かっていなかったのでわざわざ追記した。

[#53] (daynys) 「ブレーキを踏むとタイヤがロックされるのは欠陥商品だ」みたいな?

[#54] (cksaxq.) 何その屁みたいな言い訳

[#55] (unevzn) ニュー作が言葉足らずだから話が変な事になったんだな。

[#56] (nnioiv) え?最後の桁を四捨五入するのって、要求仕様を実装した結果じゃなくてプログラマーの独自判断なんだ。へ~。

[#57] (ztwnus) #56 当たり前だろ。それをやらなければ#0になるだけだ。やる・やらないはプログラマの判断。

[#58] (ztwnus) 本当に分かってないやつばかりだな。「2数の差を表示しろ」という仕様なら#0はまったく正しい。それを理解できないバカユーザーがいるから、「最後の桁を四捨五入」という不要な処理を追加してやってるんだよ。

[#59] (nnioiv) じゃあその電卓の仕様考えたやつは、よほど馬鹿だな。

[#60] (wmwplm) △#0 ◎ニュー作

[#61] (uyevss) 電卓の表示桁数に収まらない範囲なら、もう循環小数であるかどうかはどうでもいいというか「桁数収まらないようなもので計算すんな」て話なので、結局コレで困る奴はバカ以外には存在しないはずだよね。

[#62] (rjdtzd) #55 全然足りなくないけど?

[#63] (grutfl.) バグバグ言われて気に食わないのは解るけど、仕様バグだろうが実装の都合だろうが単純にバグだろうが、この演算結果は算数レベルで非常識。

[#64] (uyevss) #63 これはバグに近い仕様が原因だけど、結果自体は数学的に間違っていないので、これに文句言う方が非常識

[#65] (qeikff) ニュートン力学の試験で出された問題を量子力学の手法で回答したら僅かな差が出て、教授にニュートン力学での答えを出しなさいとD-をもらってるような図。

[#66] (catezp) #64 それ63に対する反論になってないよね・・・

[#67] (wmwplm) #64 計算機として間違ってる。気の利かない仕様だったとか言うなら何にも言わないけど、なんでそういう下らない言い訳を口に出せるのか。人間的な不信感を覚える。

[#68] (wmjqth) でさ。浮動小数点って普通は見えない程度に小さな誤差のある数値なのは判るけど、1回の引き算でオモテに出てくるようなものなの? #50 循環2進数の話かしら

[#69] (qgwprn.) 必死になってるニュー作は問題のアプリのコーディングした張本人なんじゃね?と疑いたくなるような荒れっぷりだな。 この程度の桁数で普通に紙と鉛筆(これは暗算レベルだけど)使った結果と違うんだから、作る側の都合は関係なく、不具合なのは間違いないよ。

[#70] (ztwnus) Rubyで計算しても同じ結果になるさ。コンピューターは内部で2進数計算をしていることを知らないバカ共め。irb(main):001:0> 7472.4-7465.6 => 6.79999999999927

[#71] (ztwnus) #69 #0の電卓はJavaで作ってあるのだろう。Java,c,c++,Ruby,PHP,Perlどの言語でも浮動少数点演算を行えば、この結果になる。「この程度の桁数で普通に紙と鉛筆(これは暗算レベルだけど)使った結果」と違うから、当然全言語に文句言うんだな。

[#72] (ztwnus) ここで「バグだバグだ」と言ってるバカユーザーは当然、全言語についても「バグだ」と言うはずだよな。

[#73] (wmjqth) #71,72 なんで浮動小数点をそのまま使ったような電卓なんか作るんだ? あと、これを思い出した。

[#74] (catezp) 普通に電卓として適切な答えが出せてないんだからバグでいいだろ。誰もプログラムの話なんかはしていない

[#75] (ztwnus) #74に聞くが電卓で1÷3×3やって答えが1じゃ無いのはバクなのか?2のルートをとってそれを2回かけて2にならないのはバクなのか?本質的にはそれと同じことなんだよ。ボケ!

[#76] (wmjqth) #75 ちょっとまってくれ。浮動小数点とBCD演算のズレの話と、1=0.9999...って数学的に同じものなのか?

[#77] (ztwnus) #76 同じことだ。7472.4を「2進数で表すと」無限循環少数になる。例えば0.333...+0.333...+0.333...=0.999...で1にならないのが2進数で起こって、それを十進数で表示するから 1/3+1/3+1/3 = 0.999... となるのを騒いでることに気がついていないのか?

[#78] (uyevss) #76 微妙に違うけど、電卓の表示可能範囲外で起きるような演算ずれを問題にするなら、最初からもっと制度の高い計算システムを使うべきなので、文句をいうような部分じゃない。

[#79] (uyevss) 「有効数字30桁の数値を扱いたくて10桁しか表示されない電卓つかったけど、なんか結果がおかしいよ」とか言い出したら、そいつの頭がバグってる

[#80] (frlipg) 「2進数だからこれが当然」というヤツは、電卓を使うユーザーが"2進数での"正確な計算結果を必要としているかどうか考えた方が良い。

[#81] (frlipg) #77 「0.999...で1にならない」は明らかな誤り。両者は等しい。問題はコンピュータ上で無限小数になる点ではなく、それを扱う際に有限桁で打ち切らざるを得ない点。

[#82] (gyhhtv) 電卓Appが「2進数的に正しい表示」をするよう意図されたとは思えないのでバグだろ.

[#83] (bhzaes) #72 バカユーザーの求めてる物すら作れないプログラマーはバカ未満なんじゃないですか・・・そんな自暴自棄になるなよ

[#84] (rdzghr.) bigdecimalググれよ、ボケニュー作君

[#85] (wupizg-) くだらない言い訳はいいから、その辺の文房具屋で数百円程度で売られている電卓と同程度には使えるものをリリースして下さい

[#86] (zikdtr) #78 「精度の話」ということでは同じようなところってことか。 電卓なんだしBCDにしちゃえばいいような…と思うのはBCD演算な言語(というかマシン)に慣れてるせいだろうか…

[#87] (wupizg-) 「優しいプログラマ様が最後の桁を四捨五入」するのが当然の仕様であって、その仕様を満たしていないのでバグだと行っている。損賠裁判ではお前らの言い訳などはクソの役にも立たん。俺もエンジニアだが、こんな言い訳で許されると思っているヤツは日本の物作りには不要な人材だ。

[#88] (uyevss) #87 実質的に問題が起こらない内容なのに拘るのは過剰品質だし、これがコーディング上のミスなのか、仕様上のミスなのかはわからないだろう。「俺が欲しいと思ったものが仕様だ」なんて意見なら、お前こそ日本のモノづくりにはこれから必要なくなる。

[#89] (ztwnus) #85 はぁ?1円の金も払わず、どこかの親切なプログラマが作ったアプリに文句をつける乞食はどっかいってろ。その作者が「これが俺の仕様だから」と言えば言語仕様なんだからお終い。バカ共め。

[#90] (cjxubd) Windowsの標準電卓で 1÷3×3 やったら1になったね。 電卓として求められてる事をよく分かってる。 バカじゃないプログラマが作るものはちゃんと出来てるね

[#91] (wupizg-) #88 いや、現に問題がおこってるから騒ぎになってるんだろ。。。今回の騒ぎで発生したソニエリの損失(風評含む)をお前が補填してくれるのか?そして数百円の電卓にも劣るアプリが品質過剰?裁判になれば「俺が欲しいと思ったもの」ではなく社会一般常識に照らして判断されることになる。それ以前に要求仕様に明示されていたら争うどころか金額の多少の話にしかならい。

[#92] (zikdtr) #90 世間的な[電卓]が何度か引き合いに出てるけど、それに関しては大体スルーなんだよね、仕様といってるひとの※。

[#93] (wupizg-) #89 俺は一円の金も払っていないが、Xperiaを買った人間はそうではないとおもうが?それともこのアプリもしかしてフリーソフトか何かだったの?そうだったらごめん。

[#94] (skcmfk) だからぁ、手をかけずに簡易的に作って生じる誤差と、厳密に作りこまれたソフトウェアのバグとは違うだろ。いい加減わかれ。

[#95] (cjxubd) 電卓っぽいもの として出してるなら簡易的でもいいと思うけどね

[#96] (ztwnus) #93 「電卓アプリのパッケージ名を見る限り、電卓アプリは(ソニエリ製ではなく)android標準のもののようですね。Googleまで話が行かないと、電卓そのものの修正はされないかもしれません。」

[#97] (wupizg-) #96 それは「どこかの親切なプログラマが作った」とは言わないんでは?ユーザーが自信で自己責任でインストールしたアプリならともかく、Xperiaに標準導入されていれば、その品質はソニエリが責任を負わざるを得ない。例えばRedhat社であれば、自社の責任でパッチを作る。

[#98] (ffvmsf) 内部動作的にも発生原因も解るけど、算数でこの答え出したらキチガイだよね。 内部がBCDだろうがbinaryだろうが使用言語が何だろうが使う側の知った事じゃなくて、こんな単純な引き算でこんな答えが出てきたら「この電卓おかしい」と思うでしょ。

[#99] (wupizg-) 「近日中にアップデートする予定はありますが」とあるが「どこかの親切なプログラマが作ったアプリ」ならソニエリがアップデートなどするはずもないか・・・。

[#100] (ztwnus) 本動作はJavaの言語仕様に基づくものであり、不具合とは認められません。必要であれば仕様変更に応じますが、必要な工数及び納期を見積りますので、追加費用を頂きます。   金も払わずに乞食が文句いってんじゃねーよ。バカ。

[#101] (uyevss) #98 いや、だからさ これ表示上は数学的に正しいでしょ。内部的には計算に誤差が生じる可能性に繋がるけど、それは既にこの電卓に求められる精度を超えてるから、気になるならマテマティカでも使えという話。

[#102] (uyevss) この問題はユーザー側から見た場合「答えは正しいが、表示がおかしい(分かりにくい)」という不具合にしかならない。プログラマ的には計算上の誤差が出る可能性はあるけど、通常の電卓に求められるレベルの精度じゃない。

[#103] (ihtelk) かまってもらえてよかったな。>#0

[#104] (ziccro) #100 Javaの言語仕様としてbigdecimalで回避できることを回避しないで、本来要求されているであろう仕様を満たしていないものに追加費用なの?

[#105] (ztwnus) #104 仕様変更ですから当然です!

[#106] (ztwnus) #103 こんなに釣れるとは思わなかった。つうかバカが多いな。

[#107] (ziccro) んー、もう費用の話にシフトしてるのね。 するとこれは納得いかないから返品する。金返せ。も可能なのかしら?主に末端ユーザーレベルで。

[#108] (uyevss) #107 ユーザー側で実際に損害が出て、その原因が「精度に合わない電卓を使用したユーザー」にない場合なら可能じゃないの?ありえないと思うけど。

[#109] (ffvmsf) ぴちぴち大漁後釣り宣言

[#110] (gtkiiw.) #102 精度が足りないとか表示上おかしいとかってレベルじゃないだろ。基本的なことをやってないんだから。プログラマーとして大失格。

[#111] (ztwnus) #110 騒ぎ立てるユーザーは浮動少数点演算も理解してないド素人。こんなクソクレーマーのために処理を追加してる、お優しいプログラマー様に感謝しろよ。

[#112] (ziccro) #111 ド素人が使うソフトがド素人に理解されない要件を含んでいるってのはいいのかしら?

[#113] (ztwnus) #112 だから、#0で笑ってるわけよ。Javaの言語仕様見つけて騒いでるバカユーザーがあまりにもおかしくて。

[#114] (cjxubd) まぁ、これで仕様だから問題ないと言ってる人がいる会社には発注できないわなー。 うちの会社のプログラマがここの#0みたいな人じゃなくて本当に良かった

[#115] (ziccro) ふむ。なるほど。ここでツッコミ側に回ってるひとは「そんなことはどうでもよくて、UIとしての仕様を満たせよ。」であって、言語仕様なんか制作者側が丸め込めってことだと思うんだけど… プログラマでない末端ユーザーですら言語仕様を知らねばバカ扱いになりますか?

[#116] (ztwnus) #114 バカじゃねー、お前。お前んとこの会社で作ってるアプリでも「7472.4 - 7465.6」計算してみろ。丸め込みやってなきゃ同じ結果がでるぞ。ボケが。

[#117] (ztwnus) #115 言語仕様も知らずに指摘して来たら「俺の中では」バカ扱い。それがプログラマだったらもう、職変えろよ、レベル。

[#118] (ziccro) #116 だから#114のひとのところのプログラマはUIとして丸め込みまで含めて完成品だといって出荷してるんでしょ? #117 ユーザーが求めるものが出来ているのが「完成品」で「最終仕様」なんじゃないの? なんか(ztwnus) のひとの中にある「完成品」が判らなくなってきた。

[#119] (uyevss) #112 いや、ど素人でも#1の理屈があるので、基本的にはこれを「間違ってる」とは見ないでしょう。#1を知らないという話なら、そもそもそんな奴に算術いじらせるのが間違い。

[#120] (wmwplm) 金も払わずに乞食が文句いってんじゃねーよ。バカ。<文句じゃないよ、評価だよ。こういう動作をする計算機は使えない。カネが足りなくてそこまで造り込めなかったというなら俺は何も言わないが、仕様と責任逃れをする関係者は使えない奴ということ。

[#121] (uyevss) #120 「こういう動作をする計算機は使えない」使えないという理由は?

[#122] (uyevss) #115の言うとおりでこれはUIをどうすべきかという話なので、UIが悪いというクレームが来る可能性はあっても、計算機として機能しないというクレームは(勘違い以外では)本来こない。

[#123] (wmwplm) #121 機械を使って算出した結果を更に人間が判断する必要があること。と、俺は答えたから、君はこういう動作をする計算機は使えるという理由を述べられるのかな?

[#124] (ztwnus) #120 世の中のほとんどのプログラムは「内部的に」#0のように動いてんだよ。それがバグだと。バカじゃね?

[#125] (wmwplm) 内部の話はどうでもよいの。何時までそういう意味の無いことを考えてるんだろう。

[#126] (ztwnus) #122の言う通りだな。「見た目だけ」の問題なわけよ。それがバカなユーザーにはわからんとですよ。

[#127] (uyevss) #123 人間が判断ってどこを判断するんだい?この電卓の出した答え、見た目上は「正解」だから疑問に思わないだろう。

[#128] (wmwplm) 「役所仕事」とは役人が創造的に仕事をしなくなった結果だと思うんだが、思考を放棄したPGとかも似たような言動をするようだ。

[#129] (catezp) #126 ユーザーと作り手の立場の違いをいつまでも理解出来ない真性バカがバカバカ言って話をこじれさせてるだけで、みんなは言われなくてもわかってます。

[#130] (ztwnus) #128 × 「ユーザーと作り手」、○「内部の実装も知らずに見た目だけでバグだと言い張るクレーマーと優しいプログラマ」な

[#131] (wupizg-) #106

[#132] (uyevss) 問題は「UIが悪い」というクレームも、電卓として使用できないという内容ではなく「一般の電卓と違う」あるいは「俺が気に食わない」でしかない。機能的に満たされているけど、UIが一般基準じゃないとそれは「バグ」なのか? という事にどう答えるのか。

[#133] (ztwnus) #132 「仕様です」

[#134] (wmwplm) #127 結果が約1000の場合、1000と同義だと判断する必要があること。分からなかったの?

[#135] (wmwplm) #130 内部のことしか考えられないなら二進数で表記でもしろ馬鹿。十進数で表記するなら笑われない程度のことはしろ。お前はホントに屁理屈ばかりで使えない奴だな。

[#136] (uyevss) #134 君は#1を見ているのか?電卓の表示限界の問題で6.79999は循環小数に見える。そしてこれは数学的に7と等しい。これは人間が判断するとかいう問題ではなく、コレを知らないとそもそも数学ができてないわけで、電卓云々の問題じゃない。

[#137] (ztwnus) #135 だから、お前みたいなのがクレーマーだ

[#138] (uyevss) おう、間違えた #136は 6.8と等しい な。7と等しかったら困るわ。

[#139] (uyevss) (wmwplm) はこの電卓の計算結果が「約1000の場合」だと思ってるならもう話すの止めた方が良い。電卓の表示を見るかぎりだと『6.79999・・・あぁ、6.8だから正しいな』ってなる。「数学を知らない人でも計算できる機械を下さい」ならもっと別の装置が必要だわ、人工知能とか。

[#140] (wupizg-) #135 それが (ztwnus) の仕様です。

[#141] (cjxubd) #116 オレが言いたい事はまんま#118と同じだね。 プログラマー以前に日本語もダメなようだ。

[#142] (cjxubd) (ztwnus)がもし電卓出す機会があれば 「二進数上の仕様を元に開発しておりますので、想像しうる結果とは異なる可能性がございます」とか注意書きかいとけよ。 買わないようにするから。

[#143] (lxbtfo) ふむ…「内部構造を知らないのに「バグ」って言葉を使うな」ぐらいまでならまだ納得したんだが、バグがどうの誤差がどうの以前に「全てを知ってやがれ。そうでないヤツはおおむねバカなクレーマーだ」って話なのね、これ。

[#144] (uyevss) #24のリンク先の件だなぁ。「仕様上のバグ」なんて言葉を一般的にしてしまっていいのか疑問ではあるが。普通は丸めた方が直感的に分かりやすいからそうすべきだけど、もしそうして居なかった場合はソフトを修正すべきなのか、アップデートできない環境なら全台回収するほどの大事なのか っ話。

[#145] (ykfaju.) デバッグに筆算を要するって事か。これ元は10進数の計算だよな?

[#146] (gqvdii) ちなみにカシオ計算機が作った携帯電話の電卓機能ではこの問題は起こりません

[#147] (geofnv) 算数もできない電卓を仕様通りってのなら、仕様が間違っている。それだけのことだろ。

[#148] (yysvfn) 小数点の桁を指定するなんてエクセルでも習えば勝手に覚えるよ

[#149] (uyevss) #147 6.8=6.799999999999・・・ 電卓には正しい答えが表示されてるので、あとはこの表示が気に入るか気に入らないかという話。

[#150] (gqvdii) #149 もし気にいる人がいるなら今後、6.8と書かずに必ず6.799999999999・・・と書いて欲しい。気に入ってるんだからね。

[#151] (uyevss) #150 別にどっちでもいいわ。ただこれに対して「コレはバグだ!」ってのはどうなの?バグだと思うわけ?表示が気に入らないだけで。

[#152] (kukvbt) またなんか話が戻ってるな。少なくともユーザーが「内部で起こる微少な「見た目上」の誤差」をいちいち想定しないといけないというのは仕様にあるのか、という話と、バグという単語にコダワリがあるのであれば一般人は「不具合と呼べ」とかということでよいのかしら?

[#153] (uyevss) #152 「見た目が気に入らない」事を「不具合」と呼ぶのかお前は?携帯買ったけど時計のフォントが気に入らないので不具合です、バージョンアップしてください  とか?通じると思ってんの?

[#154] (kukvbt) じゃあ見た目の話。とりあえず割り切れないときは電卓って最下位を四捨五入するよね? それが無い状態で見た目上だけと判断できる材料って無限少数だか循環小数で後ろに「・・・」なり何なり付くよね。出るの?

[#155] (cjxubd) 「2進数」としては仕様 「電卓」としては不具合

[#156] (jolcsf) #153 大多数の人が「見た目が気に入らない」ものが売れるとしたら可能性はひとつ、他に代替品が無い場合だけだ。一般人は不具合をメーカーには訴えない、単に買わなくなる。

[#157] (wcqfya) #1は1÷3×3で出るのは一般的に判るけど、それを起こすような計算をした覚えがないのに出てくる誤差って、見た目上と判断できる人のほうが少なくね?

[#158] (yfqkah) #153 時計のフォントレベルじゃなく、時間が特定のタイミングで必ずずれる感じかなあ。

[#159] (jdiqhi) #158 それは違くね?だってズレてはいないわけじゃん。12時間時計で 13時が13:00になるようなもんじゃないか。1:00 = 13:00 と理解してれば「なんで12時間時計なのに13時が出たんだ?」って思うけど、時刻の表示は間違ってない。

[#160] (qpnmbt) なんで10進数の引き算でこんな答えを受け入れなきゃいけない話になるんだよ。バグとは言わなくても「答えがおかしい」だろ。

[#161] (jaxgqb) #160 「(Javaの)仕様です」

[#162] (wjdlwl) #149 プログラマって人種は算数ができないんかね?

[#163] (yfqkah) #159 時計の内部回路的には13:00でも、時計の針は12:59:59を指してますよってこと。

[#164] (jdiqhi) #162 少なくともあんたより出来る人のほうが世の中多いと思うよ。

[#165] (wjdlwl) 俺より出来る出来ないはどうでもいいけれど、算数してくんない?

[#166] (krwdqs-) ちょっと煽り気味に過激なコメントをつけただけのつもりが、マジで反論されて、間違いを指摘され、反論に窮したものだから、自分もヒートアップ。頭の悪い回答を繰り返し、後釣り宣言までしちゃう、そんなニュー作を誰か慰めてあげて下さい

[#167] (krwdqs-) #153 見た目の問題とか矮小化してごまかすなよ。電卓の機能とは計算結果を”表示”、即ち情報を提示することであり、極めて主要な機能だ。好みの問題ではない。そして見た目を仕様に表すことは難しいが、これはそうではなかろう。

[#168] (xmzwyk.) #161 Javaでの回避策は何度も言及されてるからなー。仕様じゃなくて(開発側の頭の)バグでしょ。

[#169] (qrciyj) #168 回避策をとると仕様変更になって追加費用らしいよ? (頭の)バグなら仕方ない。#156のいうように買わなくなって終わりだな。

[#170] (rwebtr) 要は単純かつ簡単なことで、「そこまで気が利きませんでした」と一言言って、今後の処置を述べればいいだけ。そうすればそこを分かって使う・使わないの判断したり改善に伴う対価を飲むとかするけれど、「内部的に…」とか「0.99…と1は同じ」とか、単語が具体的になっただけの子供の言い訳をするから馬鹿扱いされる。

[#171] (zejpea) いや、世間的に答えとして6.799999999999はもう間違ってるから。そこらの事務のおばちゃんにこの答え見せて、あってるって言ってもらえると思うか?絶対ないな。だからバグだって話なんだよ。

[#172] (wwltfc) 10進数計算してるつもりのユーザーがわざわざ2進数を引っ張り出してきてそれが正解だなんて思うわけがないしね。

[#173] (psiejd) 「顧客が本当に必要だったもの」

[#174] (nqxyak) 時計の話が出てたけど、感覚的には12時59分60秒とかこんな感じかな。 皆は13時0分0秒にならないからおかしい って言ってるけど、一部の人だけは「算数的に59+1=60だから問題ない」って言い張ってる感じかな。

[#175] (wrybjb) #174 … 12時59分59秒999999999999.....とかいう表示が一瞬だけ出て、コンマ以下もカウントしているワケだから何の間違いもない。とかいうほうがしっくりくる気がする。59までっていう秒の仕様もクリアしてるし。

[#176] (bocjik) 12時59分59秒999999999999.....とかいう表示が一瞬だけ出て ←ねーよwあるとしたらそれはアナログの話だ。 そんな言い訳しないといけないなら電卓とかじゃなくて素直にそろばんアプリでも作っとけ。

[#177] (wrybjb) 言い張ってる人のソレを表現するのに適切な表現を探っているだけなのに、突然なにをムキられているのか判らない。俺がおかしいのか?

[#178] (kxekfw) #177 #176の論点が物凄くズレてるだけだから問題ない

[#179] (vreozi) #174 その例えが凄くしっくり来るね。時刻としては12:59:60でも「ズレて」はいないが、表示としておかしい。#175は循環小数を理解してない。

[#180] (luhsfr) #178 なるほど。 #179 いや循環小数はおいといて59秒だけを守りたかったんだけどね…循環小数になったときは肝心の桁は1少ないから数値を守らなくていいのか。これは失敗。

[#181] (jcilnf) まだやってんのか。言語仕様的には問題ないことを理解できなバカがいるから優しいプログラマ様が対応してやってんたよ。感謝しろ。

[#182] (fcuylu) #181やってない。そっちの話は終わってるから。多分フルボッコ的に。

[#183] (ajuunm) #181 2進数や言語仕様なんか、10進数で計算してるユーザの知った事じゃないよ。バカプログラマ。

[#184] (drrlyu-) #181 言語仕様はアプリの仕様ではありません。の一言で済むことをココまで引っ張った事については、素直に賞賛してやってもいい

[#185] (yzzuzt) ルビー使えても頭がルーピーだとどうしようもないというお話でした。


最終コメント 2010-10-11 11:24:04