!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
※前スレ
C言語なら俺に聞け 153
https://mevius.5ch.net/test/read.cgi/tech/1566050562/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 154
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bf63-lB9F)
2020/01/14(火) 19:32:30.16ID:SgRnb4BR0193デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/31(金) 21:29:06.27ID:aVH6lH010 4GLとか使って「COBOLの範疇」で書いたつもりになってるやつらが
縁の下の力持ちを知らないのか無視しているのかどっちでもいいが
悪いが鼻で笑わせてもらってたね
俺が見てた事例ではCじゃなくアセンブラだったが
縁の下の力持ちを知らないのか無視しているのかどっちでもいいが
悪いが鼻で笑わせてもらってたね
俺が見てた事例ではCじゃなくアセンブラだったが
194デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/31(金) 21:30:33.47ID:aVH6lH010 元来、俺はそんなに皮肉屋じゃないはずなんだが
連中の上から目線がそうさせていた
連中の上から目線がそうさせていた
195デフォルトの名無しさん (ワッチョイ eaad-Yjow)
2020/02/01(土) 06:47:44.88ID:PlRScEsI0 いや、まあ、CでCOBOLコンパイラ作る事は可能だろうけどね。
196デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/01(土) 11:17:42.72ID:yTeildyw0 何十年か前、GCCをベースにシステムを作った金融サイトがあることはある
GPLに触れないようライブラリは全部自前で用意してた
端末、サバクラのやり取り、サーバー間のデータ交換、全部Cで作ってた
GPLに触れないようライブラリは全部自前で用意してた
端末、サバクラのやり取り、サーバー間のデータ交換、全部Cで作ってた
197デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/01(土) 11:18:36.53ID:tav2AwxI0 GCC
198デフォルトの名無しさん (ワッチョイ a902-vKSH)
2020/02/01(土) 12:36:41.04ID:50MDw/OE0 視力検査?
199デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/02/01(土) 21:42:14.19ID:BhmlSyWc0 IOCCC
200>>187 (ワッチョイ 1163-+5rw)
2020/02/02(日) 01:07:46.29ID:8cBiUpXt0 みなさんありがとうございます
(googleもみると)あるにはありそうな気もするけど
やっぱあまりよくないのかな。強烈に速度がほしい。
(googleもみると)あるにはありそうな気もするけど
やっぱあまりよくないのかな。強烈に速度がほしい。
201デフォルトの名無しさん (ワッチョイ 1163-+5rw)
2020/02/02(日) 01:09:27.11ID:8cBiUpXt0 一方でIoTや組込的な決済プログラムは結構あるそうな。
C言語は安心して使えるから好きなんだよね。
C言語は安心して使えるから好きなんだよね。
202デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 01:19:26.11ID:lNG3EL+m0 業務アプリケーションまで持って行くのが割と大変だと思う
例えばお金の計算させるにしても、概算で良いなんてことは普通無いし
そのライブラリ作っても、信頼性の検証もしないと行けなくなる
預金システムなら、安全堅牢なファイルシステムも工夫しないといけない
趣味や学習として作る分にはとても興味深いものがあるけれど
実用するには、それを得意とするミドルを利用する方が無難だと思う
例えばお金の計算させるにしても、概算で良いなんてことは普通無いし
そのライブラリ作っても、信頼性の検証もしないと行けなくなる
預金システムなら、安全堅牢なファイルシステムも工夫しないといけない
趣味や学習として作る分にはとても興味深いものがあるけれど
実用するには、それを得意とするミドルを利用する方が無難だと思う
203デフォルトの名無しさん (ワッチョイ 1163-+5rw)
2020/02/02(日) 02:59:35.06ID:8cBiUpXt0 むむぅ
205デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/02(日) 07:40:39.94ID:D8WvcGqJ0 なにそのトンチンカンな発言
足し算引き算しかしないと思ってるの?
足し算引き算しかしないと思ってるの?
206デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 07:50:53.39ID:SWo7Ruqh0 1844京6744兆0737億0955万1615円まで扱えるなら
全人類の富を表現できるけど
10銭が循環小数になっちゃ困るね
全人類の富を表現できるけど
10銭が循環小数になっちゃ困るね
207デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:10:15.49ID:Wawdq7250 10銭を1単位にすりゃいいんじゃね?
表現できる最高金額が1桁減っちゃうけど
表現できる最高金額が1桁減っちゃうけど
208デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 09:12:29.11ID:SWo7Ruqh0 じゃあ1銭は循環小数でいいのかって話
きりねえだろ
きりねえだろ
209デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:18:53.11ID:Wawdq7250 >>208
じゃぁ今現在のシステムではどうなってんの?
じゃぁ今現在のシステムではどうなってんの?
210デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 09:20:01.71ID:VB3p6sP1M >>208
韓国の方ですか?
韓国の方ですか?
211デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 09:31:06.07ID:SWo7Ruqh0 >>209
10進数で計算するんだよ、2進数じゃなく
10進数で計算するんだよ、2進数じゃなく
212デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:35:04.50ID:Wawdq7250213デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 09:42:25.20ID:SWo7Ruqh0214デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:47:08.09ID:Wawdq7250 一銭二銭、あるいはそれ未満を扱うのなら、uint64_t を固定小数点で使えばいいだけでしょうね
>>205
>足し算引き算しかしないと思ってるの?
お金の計算なんて 9 割が加減乗除で済むのでは?
お金の計算で特に必要で特別な計算ってなにかありますか?
>>205
>足し算引き算しかしないと思ってるの?
お金の計算なんて 9 割が加減乗除で済むのでは?
お金の計算で特に必要で特別な計算ってなにかありますか?
>>211
10進で計算しなければならない、その必要性はなんですか?
10進で計算しなければならない、その必要性はなんですか?
217デフォルトの名無しさん (ラクッペ MM6d-oe7i)
2020/02/02(日) 09:58:14.19ID:PeaPXPNSM >お金の計算で特に必要で特別な計算ってなにかありますか?
複利計算で累乗
複利計算で累乗
218デフォルトの名無しさん (ワッチョイ 4a52-G6DY)
2020/02/02(日) 10:02:09.62ID:0Gqmr5420 >>215
例えば複利計算とかなら小数の計算の精度を厳密に規定しないと問題になるはず。専門外だから詳しくは知らないが、法律か金融機関ごとにでも決められているんだろう。
お前みたいにお金の計算はお小遣い帳をつけるくらいにしか使わないなら整数だけで問題ないだろうけど。
例えば複利計算とかなら小数の計算の精度を厳密に規定しないと問題になるはず。専門外だから詳しくは知らないが、法律か金融機関ごとにでも決められているんだろう。
お前みたいにお金の計算はお小遣い帳をつけるくらいにしか使わないなら整数だけで問題ないだろうけど。
219デフォルトの名無しさん (ワッチョイ 1163-6LpL)
2020/02/02(日) 10:28:42.42ID:8cBiUpXt0 古い言語なのに意外と10進演算ライブラリとかもないですよね
個別に作ってるだけかもしれませんが
個別に作ってるだけかもしれませんが
221デフォルトの名無しさん (スップ Sd0a-x67y)
2020/02/02(日) 10:45:51.01ID:j5gc2NvRd 本当に何も知らないんだねQZ
222デフォルトの名無しさん (ワッチョイ e5f9-/fp1)
2020/02/02(日) 10:56:35.17ID:/IWX5gyF0 計算機ができる前は人が筆算してたんだよ、勿論10進で
それと合わなきゃならないの
だからBCDとかやるの
精度が確保されてればより正確なんだけど、「本当はこっちの方がより正確です」はダメなんだわ
それまでと変わっちゃダメなの
それと合わなきゃならないの
だからBCDとかやるの
精度が確保されてればより正確なんだけど、「本当はこっちの方がより正確です」はダメなんだわ
それまでと変わっちゃダメなの
223デフォルトの名無しさん (ワッチョイ 1163-6LpL)
2020/02/02(日) 10:57:27.98ID:8cBiUpXt0 >>221
はい、8086 AAA, AAD, AAM, AAS 等の10進補正命令は知っていますが、今から考えても何故にアンパック形式10進なる形式を作ったのか、普通に2進整数+固定小数点では何故だめだったのか、納得できる理由をずっと探しているのです
はい、8086 AAA, AAD, AAM, AAS 等の10進補正命令は知っていますが、今から考えても何故にアンパック形式10進なる形式を作ったのか、普通に2進整数+固定小数点では何故だめだったのか、納得できる理由をずっと探しているのです
226デフォルトの名無しさん (ワッチョイ a902-vKSH)
2020/02/02(日) 11:23:45.02ID:85W5AYJA0 金融業界の習わしの発端について知りたいなら、それ関係のスレで聞けばいいんじゃね?
金融関係システムが10進で計算してるのは常識なんだし要求要件なんだから
それに疑問挟んでごねるプログラマーにはシステム開発発注したくねぇなぁ
金融関係システムが10進で計算してるのは常識なんだし要求要件なんだから
それに疑問挟んでごねるプログラマーにはシステム開発発注したくねぇなぁ
227デフォルトの名無しさん (ワッチョイ 7d4f-unxX)
2020/02/02(日) 11:32:34.14ID:nz0OxFB30 単純に考えて、「(10進)小数点以下N桁目で四捨五入する」なんて規定があるときに
2進固定小数でやるのは面倒くさいじゃん。
2進固定小数でやるのは面倒くさいじゃん。
228デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 11:36:06.33ID:SWo7Ruqh0229デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 12:32:50.80ID:VB3p6sP1M230デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 12:37:44.03ID:w7N5c9rM0 そもそもお金に0.1円とかないから四捨五入は必要ない
231デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:43:11.07ID:SWo7Ruqh0 固定か浮動かって問題じゃない
10進の0.1が2進では0.00011001100110011001100110011...という循環小数になり
金の話では出てこないはずの誤差が出るって話だ
最小単位が1円のときは10銭、10銭のときは1銭が2進演算では正しく扱えない
最小単位をいくらにしても同じことというのをキリがないと言ったんだ
10進の0.1が2進では0.00011001100110011001100110011...という循環小数になり
金の話では出てこないはずの誤差が出るって話だ
最小単位が1円のときは10銭、10銭のときは1銭が2進演算では正しく扱えない
最小単位をいくらにしても同じことというのをキリがないと言ったんだ
232デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 12:46:55.96ID:VB3p6sP1M >>231
最小単位以下の誤差なんて累乗計算でも出るじゃん
最小単位以下の誤差なんて累乗計算でも出るじゃん
233デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:48:44.37ID:SWo7Ruqh0 >>230
\1,000,500_に源泉税率10.21%を掛けたらいくらになる?
\1,000,500_に源泉税率10.21%を掛けたらいくらになる?
234デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:49:20.92ID:SWo7Ruqh0 >>232
誤差の出方が10進と2進では違うって話
誤差の出方が10進と2進では違うって話
235デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 12:51:06.34ID:w7N5c9rM0 誤差がでてもそれよりすごく大きい数で四捨五入するんだから同じだろ
236デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 12:51:15.29ID:VB3p6sP1M237デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/02/02(日) 12:56:31.50ID:ceem9FS20 10進数では、1/3 が循環小数で、
2進数では、1/10 が循環小数って、言うだけ!
2進数では、1/10 が循環小数って、言うだけ!
238デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:59:27.07ID:SWo7Ruqh0239デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 13:00:47.13ID:w7N5c9rM0 10進数で手動で計算するときと同じ誤差のでかたじゃないと駄目なんじゃないか?
240デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 13:04:59.05ID:w7N5c9rM0 問題なのは四捨五入じゃなくて
2進数だと0.1が表示できないってことじゃないのか?
10進数なら0.1から0.9まで全部表示できるけど
2進数だと0.1が表示できないってことじゃないのか?
10進数なら0.1から0.9まで全部表示できるけど
241デフォルトの名無しさん (ワッチョイ ea02-L01+)
2020/02/02(日) 13:28:12.47ID:OL0mFBDc0 計算機イプシロンでいいだろもう
今回の低レベルの諍いについてvoid君はどう思う?
今回の低レベルの諍いについてvoid君はどう思う?
242デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/02(日) 13:32:17.04ID:D8WvcGqJ0243デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/02(日) 13:34:11.48ID:D8WvcGqJ0 100万円を利息年3%で借りた時
1年で利息はいくら?
1年で利息はいくら?
244デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 13:39:19.37ID:Wawdq7250 そんなもんどんな返し方をするかがわからんと解析解さえ出ない
>>227
その場合、小数点以下N桁目、あるいは余裕をみて N+4桁目くらいを考えて
10^(N+4) 倍して整数1 と内部表現 10^(N+4) を一対一対応とすれば整合性はとれるのでは?(これを固定小数点といいます)
その場合、小数点以下N桁目、あるいは余裕をみて N+4桁目くらいを考えて
10^(N+4) 倍して整数1 と内部表現 10^(N+4) を一対一対応とすれば整合性はとれるのでは?(これを固定小数点といいます)
>>231
10進の1 の内部表現を 10, 10進の2 の内部表現を 20, 10進の3 の内部表現を 30 …、10進の0.1 の内部表現を 1
という固定小数点にすれば、 お金の計算のような演算では十分なのでは?
10進の1 の内部表現を 10, 10進の2 の内部表現を 20, 10進の3 の内部表現を 30 …、10進の0.1 の内部表現を 1
という固定小数点にすれば、 お金の計算のような演算では十分なのでは?
>>242
まあ五捨五入というのは、よそではあまり聞かないですね
まあ五捨五入というのは、よそではあまり聞かないですね
249デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 13:56:18.00ID:gkoi3ncld 値を保持するだけなら何でも良いよ
保持出来るだけの精度が有れば
固定小数点だろうが整数部と小数部だろうが
10進浮動小数点だろうが
BCD整数だろうが
計算の方法、式、丸め方が特殊で
途中の型も特殊だったりする
これに多くの評価が必要
だから
結果の型だけを語るのはトンチンカン
保持出来るだけの精度が有れば
固定小数点だろうが整数部と小数部だろうが
10進浮動小数点だろうが
BCD整数だろうが
計算の方法、式、丸め方が特殊で
途中の型も特殊だったりする
これに多くの評価が必要
だから
結果の型だけを語るのはトンチンカン
250デフォルトの名無しさん (ワッチョイ 7d4f-unxX)
2020/02/02(日) 14:01:47.01ID:nz0OxFB30 >>246
一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ
一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ
251デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:06:26.86ID:gkoi3ncld 手間とか効率とかの問題じゃなくて
値の一貫性の問題
最終的に得る値が整数だとしても
途中の計算精度や丸め方によって誤差が微妙に異なり
結果1円の誤差になりました
じゃダメなの
値の一貫性の問題
最終的に得る値が整数だとしても
途中の計算精度や丸め方によって誤差が微妙に異なり
結果1円の誤差になりました
じゃダメなの
252デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 14:11:34.03ID:VB3p6sP1M >>238
あんたの言う誤差とは何かね?
あんたの言う誤差とは何かね?
253デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:12:15.30ID:gkoi3ncld 途中の計算精度があれば良いってわけじゃない
100桁精度でも無限精度でもダメ
決まってるロジック通りの結果を返さなきゃダメ
数値計算と思わない方が良いかも
100桁精度でも無限精度でもダメ
決まってるロジック通りの結果を返さなきゃダメ
数値計算と思わない方が良いかも
254デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:14:53.67ID:gkoi3ncld 決められてる通りのロジックで返した時の値との差が誤差
誤差は一切許されない
これがお金の計算
誤差は一切許されない
これがお金の計算
255デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:17:09.96ID:gkoi3ncld オンラインゲームも一貫性が必要だったりする
対戦相手と結果が異なってはまずいので
そういう部分では
厳密にCPUでもGPUでも同じ値である必要かある
対戦相手と結果が異なってはまずいので
そういう部分では
厳密にCPUでもGPUでも同じ値である必要かある
256デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 14:17:57.04ID:w7N5c9rM0 わかったぞ
十進数だと0.5円になるときには四捨五入すると1円になるけど
2進数の時0.4999999999円みたいになった時0円になっちゃうってこと?
十進数だと0.5円になるときには四捨五入すると1円になるけど
2進数の時0.4999999999円みたいになった時0円になっちゃうってこと?
257デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 14:20:40.80ID:w7N5c9rM0 0.1円の誤差をなくすために0.1円以上掛けたら意味なくない?
258デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:23:22.92ID:gkoi3ncld 1円でも誤差があると帰れない銀行員の話とか知らない?
259デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 14:24:38.04ID:w7N5c9rM0 日本が異常なだけでしょ?
アメリカとかだと1円払って終わりじゃね?
アメリカとかだと1円払って終わりじゃね?
260デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:30:28.56ID:gkoi3ncld 私が直接話を聞いたのは外資系の銀行員から
261デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 14:32:20.39ID:Wawdq7250 つまり
10進で計算するのは,10進で計算せよというロジックがあるからであって,循環小数を避けるためではない
ということか
そういうことなら誰も文句ないんじゃね?
10進で計算するのは,10進で計算せよというロジックがあるからであって,循環小数を避けるためではない
ということか
そういうことなら誰も文句ないんじゃね?
262デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/02/02(日) 14:37:37.76ID:mzCY/+E00 https://ideone.com/HdUvEa
こういうことでは。
こういうことでは。
263デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/02/02(日) 14:44:42.42ID:ceem9FS20 >>256
0.5 は、2進数の1/2 だから、割り切れる。
0.25 は、2進数の1/4 だから、割り切れる
だから、0.5 + 0.25 = 0.75 も、2進数で割り切れる
でも、0.1 は循環小数になるから、
0.1 * 5 != 0.5
これは不一致!
情報処理の初級資格の内容w
これを勉強していない人は、プロじゃない!
つまり、お金の計算では、誤差のある浮動小数点演算は使えない!
Decimal を使う
0.5 は、2進数の1/2 だから、割り切れる。
0.25 は、2進数の1/4 だから、割り切れる
だから、0.5 + 0.25 = 0.75 も、2進数で割り切れる
でも、0.1 は循環小数になるから、
0.1 * 5 != 0.5
これは不一致!
情報処理の初級資格の内容w
これを勉強していない人は、プロじゃない!
つまり、お金の計算では、誤差のある浮動小数点演算は使えない!
Decimal を使う
264デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/02/02(日) 14:48:07.68ID:mzCY/+E00 もういいわ。
おまえ等のプログラムじゃ金の計算できないわ。
エクセル使う。
おまえ等のプログラムじゃ金の計算できないわ。
エクセル使う。
265デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 14:48:39.82ID:lNG3EL+m0 三人で三等分して、構成比を%で表示しろと言われ、
何も考えずに計算結果出して見せたら、
合計が100%になってないと文句を言われたw
何も考えずに計算結果出して見せたら、
合計が100%になってないと文句を言われたw
266デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/02/02(日) 15:07:37.05ID:mzCY/+E00 一番上のお姉ちゃんがプリン食べれないやつか。
>>250
>一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ
いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します
>途中の計算精度や丸め方によって誤差が微妙に異なり
お金の計算における丸め方法の規則は、四捨五入にしても五捨五入にしても 10 進法整数に親和的なのだから、多桁長表現+固定小数点で表現すればかなり厳密に扱えるとおもいますよ
>一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ
いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します
>途中の計算精度や丸め方によって誤差が微妙に異なり
お金の計算における丸め方法の規則は、四捨五入にしても五捨五入にしても 10 進法整数に親和的なのだから、多桁長表現+固定小数点で表現すればかなり厳密に扱えるとおもいますよ
>>263
>Decimal を使う
Decimal の内部表現方法に興味がありますね、まさか、今でも BCD だとは思えませんが(x86_AMD64 でも関連ニーモニックは消えました)、もしかして?!
>Decimal を使う
Decimal の内部表現方法に興味がありますね、まさか、今でも BCD だとは思えませんが(x86_AMD64 でも関連ニーモニックは消えました)、もしかして?!
269デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 15:19:29.78ID:w7N5c9rM0 小数点の位置と整数の2つの情報で10進数の少数は誤差なくあらわせるよ
270デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/02/02(日) 15:22:25.38ID:mzCY/+E00 >>269
どうやるんだよ。
どうやるんだよ。
271デフォルトの名無しさん (ワッチョイ 7d4f-unxX)
2020/02/02(日) 15:27:54.74ID:nz0OxFB30 >>267
丸めは計算ごとに適用されるんだよ、馬鹿。
丸めは計算ごとに適用されるんだよ、馬鹿。
272デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 15:30:01.89ID:w7N5c9rM0 >>270
0.1は1番目に点がある1だから1と1で表せる
0.1は1番目に点がある1だから1と1で表せる
273デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 15:36:23.54ID:w7N5c9rM0 少数点以下の整数と小数点以上の整数でも表せる
274デフォルトの名無しさん (ブーイモ MMc9-AfBq)
2020/02/02(日) 15:38:49.63ID:anvSpfnfM 機械語なら商と剰余はたいていいっぺんに計算できるけど、Cからそれらの機械語が使われると期待していい書き方ってどうすればいい?
10年来の疑問
10年来の疑問
275デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 15:40:29.20ID:w7N5c9rM0 Cのライブラリーにいっぺんに計算されるやつがある
276デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 15:42:13.13ID:lNG3EL+m0 小数と少数を間違えないで
>>267
>>いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します
>>271
>丸めは計算ごとに適用されるんだよ、馬鹿。
そうか、確かに私にも落ち度がありました、2進整数+固定小数点ならば、丸める桁まで 10 で割り続けて余りを求める必要がありますね、これはほとんど2進→10進変換といっていいですね
しかし、全桁を 2進→10進する必要はなく、丸める桁までで 2 進→ 10 進するだけでいい
x86-AMD64 では 8086 時代の BCD 補正命令は全部なくなってしまったことから考えても、「Decimal」型は整数+小数点位置なんじゃないかな…
>>いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します
>>271
>丸めは計算ごとに適用されるんだよ、馬鹿。
そうか、確かに私にも落ち度がありました、2進整数+固定小数点ならば、丸める桁まで 10 で割り続けて余りを求める必要がありますね、これはほとんど2進→10進変換といっていいですね
しかし、全桁を 2進→10進する必要はなく、丸める桁までで 2 進→ 10 進するだけでいい
x86-AMD64 では 8086 時代の BCD 補正命令は全部なくなってしまったことから考えても、「Decimal」型は整数+小数点位置なんじゃないかな…
278デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 16:00:27.23ID:SWo7Ruqh0279デフォルトの名無しさん (ブーイモ MMc9-AfBq)
2020/02/02(日) 16:24:08.92ID:VqF3mFhWM >>275
ポータブルなやつを頼む
ポータブルなやつを頼む
280デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 16:27:09.95ID:w7N5c9rM0 >>279
標準ライブラリーだからポータブル
標準ライブラリーだからポータブル
281デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 16:40:10.12ID:gkoi3ncld >>277
IEEE754にも10進数があるから見てみれば
IEEE754にも10進数があるから見てみれば
282デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 16:50:09.63ID:VB3p6sP1M283デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 17:00:29.36ID:SWo7Ruqh0284デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 17:03:20.75ID:lNG3EL+m0 円周率は概ね3です
285デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 17:20:36.09ID:VB3p6sP1M >>283
あんたの言ってる誤差は循環小数云々の誤差ということでいいのか?
あんたの言ってる誤差は循環小数云々の誤差ということでいいのか?
286デフォルトの名無しさん (ワッチョイ 1163-6LpL)
2020/02/02(日) 17:52:51.69ID:8cBiUpXt0 盛り上がってるなー。
が、なんか思ったのと違う進行。。
が、なんか思ったのと違う進行。。
287デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 18:01:39.53ID:lNG3EL+m0288デフォルトの名無しさん (ワッチョイ 6aa5-OeZ9)
2020/02/02(日) 19:18:27.60ID:825maVGz0 >>219
そりゃーC言語よりも古いCOBOLがあるもん
銀行案件は全部そっち任せだろ
だからそういうライブラリを発達させる必要が無かった
COBOL最盛期がいつかは知らんがきっとIBM最高益の時代あたりだろ
そりゃーC言語よりも古いCOBOLがあるもん
銀行案件は全部そっち任せだろ
だからそういうライブラリを発達させる必要が無かった
COBOL最盛期がいつかは知らんがきっとIBM最高益の時代あたりだろ
289デフォルトの名無しさん (ワッチョイ 8a1e-7ddI)
2020/02/02(日) 20:44:43.11ID:F6yWVrL10 >>274
普通に書けば最適化してくれる場合もある。
とりあえず gcc -O2 とやってみた。
extern int w,x,y,z;
void foo( void) {
y = w / x;
z = w % x;
}
int bar( int x,int y){ return x / y + x % y;}
普通に書けば最適化してくれる場合もある。
とりあえず gcc -O2 とやってみた。
extern int w,x,y,z;
void foo( void) {
y = w / x;
z = w % x;
}
int bar( int x,int y){ return x / y + x % y;}
290デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 20:51:51.61ID:gkoi3ncld 割り算は遅い
スーパーコンピュータでも遅い
定数の割り算で済む所は定数に
並列化可能ならSIMD命令で複数一気に
スーパーコンピュータでも遅い
定数の割り算で済む所は定数に
並列化可能ならSIMD命令で複数一気に
291デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 20:55:57.98ID:SWo7Ruqh0 >>285
まあそういうことだ
おまえさんにとっての関心事に関係するかどうかは知らん
さっき言ったとおり、俺は保育士じゃないんで他人ん家の坊ちゃん嬢ちゃんは扱えない
プラレールだかリカちゃんだかの相手はしてられない
まあそういうことだ
おまえさんにとっての関心事に関係するかどうかは知らん
さっき言ったとおり、俺は保育士じゃないんで他人ん家の坊ちゃん嬢ちゃんは扱えない
プラレールだかリカちゃんだかの相手はしてられない
292デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 20:57:05.76ID:SWo7Ruqh0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【熊本】園児に強制性交か 保育所勤務の男を逮捕「性的な欲望が我慢できなかった」警察は余罪を調べる [七波羅探題★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★3 [ぐれ★]
- 【サッカー】元日本代表DF冨安がオランダ1部アヤックスと大筋合意か 現地メディア報じる [久太郎★]
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- 高市早苗「竹島は日本領土」 [834922174]
- あくたんのおまんこって甘そうだよな🤤
- 🏡
- ヨドバシ店員「転売対策です。エヴァに出てくるロボットの名前をどれかひとつ言ってください」 [268718286]
- 「ちょっ…挿れるなら、コンドーム着けてよ💢」👈誰の声で再生された??? [839143615]
