C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part145
http://mevius.5ch.net/test/read.cgi/tech/1568362404/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
探検
C++相談室 part146
■ このスレッドは過去ログ倉庫に格納されています
2019/11/07(木) 11:35:36.76ID:4wggfTwe
151デフォルトの名無しさん
2019/11/24(日) 15:14:02.85ID:FJ6sVzWZ GCとプログラムの実行速度の姦計は、
GCが極力動かないようにプログラマの側で工夫する余地があるから必ずしも打つ手が無いわけでは…
(GCが動き出したらワーストケースの見積りが吹っ飛ぶというのはあるが
とゆーわけでC++に比べてC#がいまいち遅いのはGCが主犯というわけではなく、
オブジェクトに参照経由で毎回間接アクセスする言語仕様なのと
JITでマルチプラットフォーム対応可能なことと引き換えに最適化があんま利かせられていないせいだと思う
あとネイティブコードを呼び出す最にマーシャリングもするし、
ジャヴァのサンドボックス思想をパクるために仕方なかった側面、
GCが極力動かないようにプログラマの側で工夫する余地があるから必ずしも打つ手が無いわけでは…
(GCが動き出したらワーストケースの見積りが吹っ飛ぶというのはあるが
とゆーわけでC++に比べてC#がいまいち遅いのはGCが主犯というわけではなく、
オブジェクトに参照経由で毎回間接アクセスする言語仕様なのと
JITでマルチプラットフォーム対応可能なことと引き換えに最適化があんま利かせられていないせいだと思う
あとネイティブコードを呼び出す最にマーシャリングもするし、
ジャヴァのサンドボックス思想をパクるために仕方なかった側面、
152デフォルトの名無しさん
2019/11/24(日) 15:29:19.64ID:FJ6sVzWZ ユーザーコードがバックグラウンドタスク(応答時間非規定で可)でGCを使うだけなら
GCとリアルタイム性は両立しないわけでは無い
まあGC有りのプログラミング言語でプログラムする状況で
GCが使われる状況がバックグラウンドタスクのみに限定されるというのは
非現実的な想定かもしれんが
GCとリアルタイム性は両立しないわけでは無い
まあGC有りのプログラミング言語でプログラムする状況で
GCが使われる状況がバックグラウンドタスクのみに限定されるというのは
非現実的な想定かもしれんが
153デフォルトの名無しさん
2019/11/24(日) 16:02:47.84ID:s1tpy+px >>151
姦計とか、どんな文脈で使ってたんだよw
姦計とか、どんな文脈で使ってたんだよw
154はちみつ餃子 ◆8X2XSCHEME
2019/11/24(日) 17:46:57.62ID:FzCW75Pg 今時のよくできた GC (の実装) はインクリメンタル化されてるから、
良い感じに暇なときを見つけて動いてくれるっしょ
良い感じに暇なときを見つけて動いてくれるっしょ
155デフォルトの名無しさん
2019/11/24(日) 18:07:45.83ID:lsOVnPbd 技術職としての適性を著しく欠いた発言だな
156デフォルトの名無しさん
2019/11/24(日) 18:49:08.07ID:np+ynBzF あれ?この人職業プログラマなの?
趣味でお気楽にやってるだけの人だと持ってた
趣味でお気楽にやってるだけの人だと持ってた
157デフォルトの名無しさん
2019/11/24(日) 18:50:48.11ID:lsOVnPbd どうりでな
158デフォルトの名無しさん
2019/11/24(日) 19:43:00.54ID:aq7LfmWh わたくしが「現代現象」と呼称する一連の悲劇的な出来事は
なんの変哲もない日常がいきなり変貌を遂げるものであり
その猶予は0.1秒もない
スイスチーズモデルを天文学的数字ですり抜けたそれら現代現象への対処時間は大抵は1秒未満になる
なので未来になればなるほど思いもよらない意味不明で突発的で素早い破壊事象が起こる
これを踏まえて車載映像の事故映像を見てみると猶予が本当に少ないことが分かる
なので自動運転では各種の重い処理はマーフィーの法則によれば衝突する0.1秒前の「暇な時」に動き出す
これを超克するには未来予知が必要になる
なんの変哲もない日常がいきなり変貌を遂げるものであり
その猶予は0.1秒もない
スイスチーズモデルを天文学的数字ですり抜けたそれら現代現象への対処時間は大抵は1秒未満になる
なので未来になればなるほど思いもよらない意味不明で突発的で素早い破壊事象が起こる
これを踏まえて車載映像の事故映像を見てみると猶予が本当に少ないことが分かる
なので自動運転では各種の重い処理はマーフィーの法則によれば衝突する0.1秒前の「暇な時」に動き出す
これを超克するには未来予知が必要になる
>>155
はちみつさんは lisp-er ですから、lisp-er 的な視点で現在のプログラミング環境をみれば、
やっと時代が lisp に追いついてきた、という感慨が発生するのも自然だと思いますよ
GC も lisp の産物ですから
「適正に欠く」と判断する推論内容は理解できませんね
はちみつさんは lisp-er ですから、lisp-er 的な視点で現在のプログラミング環境をみれば、
やっと時代が lisp に追いついてきた、という感慨が発生するのも自然だと思いますよ
GC も lisp の産物ですから
「適正に欠く」と判断する推論内容は理解できませんね
160デフォルトの名無しさん
2019/11/24(日) 20:23:39.32ID:lsOVnPbd >>160
私に適性がないのはそのとおりなのでしょうが、いちいち定量的に条件を明示して話をしなければならないわけでもないでしょう
魔法的にアレするレイヤーの話は別途規定する前提で、今は特に大局観を語りたいときにはね
あなたは、戦術レベルの話はできても戦略レベルの話は理解できない大局観に欠いた狭量な、例えば java 屋さんに見えますね
私に適性がないのはそのとおりなのでしょうが、いちいち定量的に条件を明示して話をしなければならないわけでもないでしょう
魔法的にアレするレイヤーの話は別途規定する前提で、今は特に大局観を語りたいときにはね
あなたは、戦術レベルの話はできても戦略レベルの話は理解できない大局観に欠いた狭量な、例えば java 屋さんに見えますね
162デフォルトの名無しさん
2019/11/24(日) 22:00:07.13ID:lsOVnPbd163デフォルトの名無しさん
2019/11/24(日) 22:15:54.73ID:zs+LjqkQ ほんと攻撃的なやつが多いな
これだからC++界隈は
これだからC++界隈は
164デフォルトの名無しさん
2019/11/24(日) 22:23:01.28ID:gOHxLuuk165デフォルトの名無しさん
2019/11/24(日) 23:26:27.29ID:O9JrjuKo C++erは献血してから書き込めよ
166はちみつ餃子 ◆8X2XSCHEME
2019/11/25(月) 00:55:16.50ID:a5DfrA3a167デフォルトの名無しさん
2019/11/25(月) 07:22:11.28ID:Nb9YSlRo > 富豪的プログラミング
相手してはいかんやつだったコイツ
相手してはいかんやつだったコイツ
168デフォルトの名無しさん
2019/11/25(月) 10:37:33.23ID:fJS33Jzt169デフォルトの名無しさん
2019/11/25(月) 10:43:38.75ID:Nb9YSlRo いや多様な使い方を求めるからこそ
GC厨の矮小な発想範囲を危惧するんだ
GC厨の矮小な発想範囲を危惧するんだ
170デフォルトの名無しさん
2019/11/25(月) 16:07:54.78ID:biP2ABGV この板にまともなやつ少ないだけじゃないの
171デフォルトの名無しさん
2019/11/25(月) 17:10:10.70ID:N1T6mRww >>170
じつは、きみが正解
じつは、きみが正解
172デフォルトの名無しさん
2019/11/25(月) 17:43:35.94ID:iOqWCNFx >>170
お前はいつも正しい
お前はいつも正しい
>>170
説得力のあるご意見ですね…
説得力のあるご意見ですね…
174デフォルトの名無しさん
2019/11/25(月) 20:35:32.15ID:0R6sv3EZ >>170
じゃあ俺もアンカつけとくか
じゃあ俺もアンカつけとくか
175デフォルトの名無しさん
2019/11/25(月) 20:50:09.52ID:X/XdXIky >>173
竹島はどこの国の領土ですか?
竹島はどこの国の領土ですか?
>>175
日本だと思っていますが?
日本だと思っていますが?
177デフォルトの名無しさん
2019/11/25(月) 20:59:20.98ID:jiZC6v9k >>170
この板で唯一まともな僕も赤くしておこう
この板で唯一まともな僕も赤くしておこう
178デフォルトの名無しさん
2019/11/25(月) 21:40:59.01ID:p8s7YmVo C#って、これ以上の普及はもう無理だろ。WindowsのUIアプリでしか存在価値はない。
MonoはイマイチでJavaはなくならんし、WebもAIもスクリプト言語系でOK。
タイムクリティカルなエンジン部をC++で書いて、スクリプト言語(Python含めて)
使うのが主流化してる。C#を使う場面が無い。
MonoはイマイチでJavaはなくならんし、WebもAIもスクリプト言語系でOK。
タイムクリティカルなエンジン部をC++で書いて、スクリプト言語(Python含めて)
使うのが主流化してる。C#を使う場面が無い。
179デフォルトの名無しさん
2019/11/25(月) 21:58:00.63ID:YppxgWfG Unity
180デフォルトの名無しさん
2019/11/25(月) 21:58:44.19ID:K0cOW7SD 会社の上層部がMSの営業に騙されてAzureの導入を決めてしまった場合、
マネージドサービスの利用のためにはC#を使用せざるを得ない
他の言語では事実上使い物にならない
マネージドサービスの利用のためにはC#を使用せざるを得ない
他の言語では事実上使い物にならない
181デフォルトの名無しさん
2019/11/26(火) 00:48:28.50ID:jE+AmQNT Windowsのデスクトップアプリを手っ取り早く作るにはC#以外の選択肢が無い
182デフォルトの名無しさん
2019/11/26(火) 00:49:10.79ID:FjVBoEgv 保守的な経営者とそこそこの技術力の社員でも使えるんだからAzureというのは大したもんだな
183デフォルトの名無しさん
2019/11/26(火) 03:32:39.97ID:PQgL7aAd windowsに関わってる限りC#とC++/CLIからは逃れられない
184デフォルトの名無しさん
2019/11/26(火) 03:38:53.96ID:jE+AmQNT C++/CLIと関わったことがない
185デフォルトの名無しさん
2019/11/26(火) 05:29:20.45ID:PYT33B53 >>132
制限付きながら、既にネイティブコードは吐ける
制限付きながら、既にネイティブコードは吐ける
186デフォルトの名無しさん
2019/11/26(火) 05:54:06.62ID:PYT33B53 >タイムクリティカルなエンジン部をC++で書いて、スクリプト言語(Python含めて)
>使うのが主流化してる。C#を使う場面が無い。
主流て、そんなもん昔からほぼこういう書き方してるだろwww
そこで、スクリプト言語を使ってどれだけ実行時間に影響与えてるか正しく認識してないのが多い。
ここでC#使ってこんなに違うのかと初めて気づく。
そして、単に実行速度ってことならエンジンにC++使わずともC#でもそこそこ勝負できるってことも認識するのが情弱。
タイムクリティカルな用途ならそれこそOSからしてラウンドロビンなんか使わない。
RTOSでわざわざ、メモリプール設定してるのに、new/delete繰り返すようなC++流の書き方はそもそもよろしくない。
C++で非推奨の限りなくpure Cに近い書き方してるのはもはやC++とはいわんだろ。
>使うのが主流化してる。C#を使う場面が無い。
主流て、そんなもん昔からほぼこういう書き方してるだろwww
そこで、スクリプト言語を使ってどれだけ実行時間に影響与えてるか正しく認識してないのが多い。
ここでC#使ってこんなに違うのかと初めて気づく。
そして、単に実行速度ってことならエンジンにC++使わずともC#でもそこそこ勝負できるってことも認識するのが情弱。
タイムクリティカルな用途ならそれこそOSからしてラウンドロビンなんか使わない。
RTOSでわざわざ、メモリプール設定してるのに、new/delete繰り返すようなC++流の書き方はそもそもよろしくない。
C++で非推奨の限りなくpure Cに近い書き方してるのはもはやC++とはいわんだろ。
187デフォルトの名無しさん
2019/11/26(火) 07:33:35.08ID:auNO4ARl > RTOSでわざわざ(中略)C++流
そう思い込んでる迷惑なのがいるんだよ
おまえみたいな
そう思い込んでる迷惑なのがいるんだよ
おまえみたいな
188デフォルトの名無しさん
2019/11/26(火) 08:07:38.46ID:uPJEEVDZ タイムクリティカルもいろんなレベルがあるから
ハード実装
FPGA
OSレスのフルアセンブラ
RTOS + C
....
クラウド
ハード実装
FPGA
OSレスのフルアセンブラ
RTOS + C
....
クラウド
189デフォルトの名無しさん
2019/11/26(火) 08:12:14.93ID:uPJEEVDZ > C++で非推奨の限りなくpure Cに近い書き方してるのはもはやC++とはいわんだろ。
テンプレート、ラムダ、...を使いまくるコーディングだけがC++じゃない
小規模組み込みでnewすら使わない泥臭いC++もC++
テンプレート、ラムダ、...を使いまくるコーディングだけがC++じゃない
小規模組み込みでnewすら使わない泥臭いC++もC++
190デフォルトの名無しさん
2019/11/26(火) 08:51:30.13ID:auNO4ARl 禿も必要な機能だけを使え、無理に全機能を使おうとするなって言ってるね
191デフォルトの名無しさん
2019/11/26(火) 10:50:10.03ID:6Teht3Z8 クラスにupdateという関数があってそれが何回もメイン関数にあるインスタンスから呼び出されるのですが
update内で変数宣言を書いている場合、領域の確保は呼び出される度に行われますか?
update内で変数宣言を書いている場合、領域の確保は呼び出される度に行われますか?
192デフォルトの名無しさん
2019/11/26(火) 11:27:29.29ID:auNO4ARl うん
193デフォルトの名無しさん
2019/11/26(火) 12:08:17.92ID:GwsQnBsH その宣言にstaticがついてなければ毎回領域確保が行われる
194デフォルトの名無しさん
2019/11/26(火) 12:56:56.77ID:BYZ9sIOZ 変数の宣言と定義、用語の違いを利用した罠かも知れん。
195デフォルトの名無しさん
2019/11/26(火) 13:01:29.72ID:njyF587z 変数自体はスタック(またはレジスタ)に割り当てられるから
確保解放のコストは気にするな
変数の内部(コンストラクタ他)でのメモリ確保解放や初期化処のコストは当然気にしよう
パフォーマンスの問題であればクラス変数にする等
確保解放のコストは気にするな
変数の内部(コンストラクタ他)でのメモリ確保解放や初期化処のコストは当然気にしよう
パフォーマンスの問題であればクラス変数にする等
196デフォルトの名無しさん
2019/11/26(火) 13:05:09.36ID:auNO4ARl 関数を使おうってときに
関数内変数をデータメンバに改造するアホが
うちの若いのにいたら焼きだ
関数内変数をデータメンバに改造するアホが
うちの若いのにいたら焼きだ
197デフォルトの名無しさん
2019/11/26(火) 13:11:02.62ID:njyF587z パフォーマンスに問題があるならやるしかない
198デフォルトの名無しさん
2019/11/26(火) 13:14:44.26ID:njyF587z バッファをあらかじめ確保しておくなんて
ごく当たり前のことだと思ってたけど
そうじゃないのか?
updateなんていう、
クラスの内部に直結してそうな関数ならなおさら
ごく当たり前のことだと思ってたけど
そうじゃないのか?
updateなんていう、
クラスの内部に直結してそうな関数ならなおさら
199デフォルトの名無しさん
2019/11/26(火) 13:16:07.35ID:XO/gVUyI とか抜かすやつに限って計測もせずに片っ端から最適化と称した難読化をしやがる
200デフォルトの名無しさん
2019/11/26(火) 13:18:32.56ID:njyF587z パフォーマンスの問題であれば
パフォーマンスに問題があるなら
パフォーマンスに問題があるなら
201デフォルトの名無しさん
2019/11/26(火) 13:20:23.43ID:XO/gVUyI202デフォルトの名無しさん
2019/11/26(火) 13:23:10.22ID:njyF587z パフォーマンスを考えなくていいプログラムなら
そもそもC++を選ぶのが間違い
そもそもC++を選ぶのが間違い
203デフォルトの名無しさん
2019/11/26(火) 13:24:09.92ID:njyF587z 少なくとも質問者は気にしている
204デフォルトの名無しさん
2019/11/26(火) 13:25:28.02ID:njyF587z パフォーマンスなのかフラグメントなのか使用リソースなのか
何を気にしてるのかはわからないけど
何を気にしてるのかはわからないけど
205デフォルトの名無しさん
2019/11/26(火) 13:35:02.29ID:XO/gVUyI 再入やマルチスレッドで死ぬ恐れもあるから、このレベルの初心者にバッファの事前確保が当然だなどという阿呆な考えを植え付けることはテロ行為に等しい
206デフォルトの名無しさん
2019/11/26(火) 14:14:31.87ID:jE+AmQNT 内部でnewを使ってるクラスの変数かも知れない
207デフォルトの名無しさん
2019/11/26(火) 15:17:34.53ID:GwsQnBsH >>191はstaticがついてなければyesで終わる話
それに勝手な前提つけたしていらん押し付けをするからお前らは駄目なんだぞ
それに勝手な前提つけたしていらん押し付けをするからお前らは駄目なんだぞ
208デフォルトの名無しさん
2019/11/26(火) 15:28:32.19ID:FGS0cB19 >>207
会話するのが嫌いならわざわざ書き込まなくて良いんだよ
会話するのが嫌いならわざわざ書き込まなくて良いんだよ
209デフォルトの名無しさん
2019/11/26(火) 15:51:04.71ID:jE+AmQNT ゴミみたいな会話するな
210デフォルトの名無しさん
2019/11/26(火) 16:11:06.83ID:FF/Zqwz/ https://ideone.com/kprgQF
ちょっと暇だったので、
昔のビットシフトの掛け算と割り算って、
今の技術使ったら爆速になるんじゃないかと思ったのですよ。
で、書いてみたのだけど、知識不足で到達しないんだ。
なんでだろう??
ちょっと暇だったので、
昔のビットシフトの掛け算と割り算って、
今の技術使ったら爆速になるんじゃないかと思ったのですよ。
で、書いてみたのだけど、知識不足で到達しないんだ。
なんでだろう??
211デフォルトの名無しさん
2019/11/26(火) 16:15:11.65ID:fUnM+X7O >>202
そのプログラム全体が速度が要求される訳でもなかろう。必要なところだけ必要なぶんだけ高速化しろよ。
速度が要求されない部分も別にわざわざ別の言語で作るメリットがなければC++のままで構わないわけだし。
そのプログラム全体が速度が要求される訳でもなかろう。必要なところだけ必要なぶんだけ高速化しろよ。
速度が要求されない部分も別にわざわざ別の言語で作るメリットがなければC++のままで構わないわけだし。
212デフォルトの名無しさん
2019/11/26(火) 16:18:03.80ID:fUnM+X7O >>208
質問者にとっては混乱させられるだけの余分な情報だし、知っている人からすれば当たり前で価値のない情報だし、実のない議論したいだけの無意味な付け足しは要らんよ。
質問者にとっては混乱させられるだけの余分な情報だし、知っている人からすれば当たり前で価値のない情報だし、実のない議論したいだけの無意味な付け足しは要らんよ。
213デフォルトの名無しさん
2019/11/26(火) 16:46:50.53ID:FF/Zqwz/ 俺が言いたいのは一つだ。
C言語は超高等言語なので、その前にC++使うのだ!
C言語は超高等言語なので、その前にC++使うのだ!
214デフォルトの名無しさん
2019/11/26(火) 17:39:44.76ID:M+fYb0eE215デフォルトの名無しさん
2019/11/26(火) 17:59:37.88ID:yLsU10sd216デフォルトの名無しさん
2019/11/26(火) 18:06:10.26ID:M+fYb0eE217デフォルトの名無しさん
2019/11/26(火) 18:06:14.04ID:Wuw5jSRm218デフォルトの名無しさん
2019/11/26(火) 18:52:42.91ID:FF/Zqwz/219デフォルトの名無しさん
2019/11/26(火) 19:27:14.09ID:Kb2Sko2q 爆速にならなくても1サイクルだろうよ
220デフォルトの名無しさん
2019/11/26(火) 19:41:24.45ID:78UVTJ0X 1サイクルじゃシフトしか出来ない
221デフォルトの名無しさん
2019/11/26(火) 19:48:34.46ID:2UYQ/Noe なんか根本的にconstexprを勘違いしてる初心者がよくそういうこと言うけど
定数同士の計算の省略なんか大昔からある最適化だぞ
C++03以前を偉そうにデイスってる奴(>>210は別として)最近多いけど、そういうのに限ってこういう基礎が全くわかってない
定数同士の計算の省略なんか大昔からある最適化だぞ
C++03以前を偉そうにデイスってる奴(>>210は別として)最近多いけど、そういうのに限ってこういう基礎が全くわかってない
222デフォルトの名無しさん
2019/11/26(火) 19:57:12.90ID:dLX9Z9/K constexprの利点はtemplateとif constexprの組み合わせがおすすめだと思うの。
224デフォルトの名無しさん
2019/11/26(火) 20:23:56.31ID:78UVTJ0X225デフォルトの名無しさん
2019/11/26(火) 20:29:02.34ID:78UVTJ0X よく分からない多倍長ライブラリを使うのであれば
当然コンパイル時に解決出来るとは限らない
当然コンパイル時に解決出来るとは限らない
226デフォルトの名無しさん
2019/11/26(火) 20:32:56.90ID:sE/nea3J >>223
多倍長の乗算は筆算の要領で出来るの算数程度の数学で足りるが、
多倍長の除算は、CPUが持っている除算命令を使って行おうとすると
数学的な考える力が必要になる。アルゴリズムは既に有ることはあるはずだが、
丁寧に解説されているわけではないので自分の力で証明できるくらいの
人で無いと難しいと思う。
多倍長の乗算は筆算の要領で出来るの算数程度の数学で足りるが、
多倍長の除算は、CPUが持っている除算命令を使って行おうとすると
数学的な考える力が必要になる。アルゴリズムは既に有ることはあるはずだが、
丁寧に解説されているわけではないので自分の力で証明できるくらいの
人で無いと難しいと思う。
227デフォルトの名無しさん
2019/11/26(火) 20:35:31.27ID:78UVTJ0X >>226
素人が適当な事を言わない方が良いかと
素人が適当な事を言わない方が良いかと
228デフォルトの名無しさん
2019/11/26(火) 20:39:17.37ID:78UVTJ0X 多倍長の乗算は、
非常に桁数が少ないときのみ筆算方式
もうちょっと大きいとカラツバ
もっと大きいとフーリエ変換
除算はニュートン法が一般的かと
もちろん、
特殊な形だと特殊な方法があったりする
非常に桁数が少ないときのみ筆算方式
もうちょっと大きいとカラツバ
もっと大きいとフーリエ変換
除算はニュートン法が一般的かと
もちろん、
特殊な形だと特殊な方法があったりする
231デフォルトの名無しさん
2019/11/26(火) 20:49:49.76ID:78UVTJ0X232デフォルトの名無しさん
2019/11/26(火) 20:51:56.72ID:78UVTJ0X 除算を筆算方式なんかでやってたら日がくれる
233デフォルトの名無しさん
2019/11/26(火) 20:54:28.73ID:78UVTJ0X 分子の桁数が大きくて分母の桁数が非常に小さい場合のみ筆算方式が有効
この場合も、
非常に遅い割り算命令なんかは使いませんが
この場合も、
非常に遅い割り算命令なんかは使いませんが
234デフォルトの名無しさん
2019/11/26(火) 20:56:28.50ID:sE/nea3J >>229
>除算は筆算流しか手はありません
そうではありません。除算をCPUにある除算命令を使った筆算で行うには、x/y の
xのBIT数を増やすのは容易ですが、yの方のBIT数を増やすのは非常に難しいのです。
不可能では有りませんが、非常に数学的な注意が必要となります。
私は数学マニアみたいなものなので、自分なりのアルゴリズムを作ったことが
ありますが、個人的には、それをするためにはテーラー展開の剰余項や解析学的な
知識が必要だと思っています。
考えもしませんでしたが、他にも除算は、ニュートン方を使う流儀もあるそうです。
>除算は筆算流しか手はありません
そうではありません。除算をCPUにある除算命令を使った筆算で行うには、x/y の
xのBIT数を増やすのは容易ですが、yの方のBIT数を増やすのは非常に難しいのです。
不可能では有りませんが、非常に数学的な注意が必要となります。
私は数学マニアみたいなものなので、自分なりのアルゴリズムを作ったことが
ありますが、個人的には、それをするためにはテーラー展開の剰余項や解析学的な
知識が必要だと思っています。
考えもしませんでしたが、他にも除算は、ニュートン方を使う流儀もあるそうです。
235デフォルトの名無しさん
2019/11/26(火) 20:58:37.06ID:sE/nea3J >>233
いえ、そうでもありません。テーラー展開の剰余項を注意深く扱うと、
CPUがもつdiv命令を使った筆算の場合でも、x/y の y の方のBIT数を
増やすアルゴリズムがありえます。何度も書いてますが、それは数学的に
とても慎重さを必要とします。
いえ、そうでもありません。テーラー展開の剰余項を注意深く扱うと、
CPUがもつdiv命令を使った筆算の場合でも、x/y の y の方のBIT数を
増やすアルゴリズムがありえます。何度も書いてますが、それは数学的に
とても慎重さを必要とします。
236デフォルトの名無しさん
2019/11/26(火) 21:00:22.71ID:sE/nea3J237デフォルトの名無しさん
2019/11/26(火) 21:03:02.62ID:78UVTJ0X238デフォルトの名無しさん
2019/11/26(火) 21:04:44.09ID:78UVTJ0X 分母、分子それぞれの桁数によって
最適な方法は変わる
だからそういった条件をセットで語らないと意味がない
最適な方法は変わる
だからそういった条件をセットで語らないと意味がない
239デフォルトの名無しさん
2019/11/26(火) 21:06:41.35ID:78UVTJ0X 巨大な桁数同士だとニュートン法が速い
乗算の3倍ほどの時間で出来る
割り算を組み合わせたらそんな時間では計算出来ない
乗算の3倍ほどの時間で出来る
割り算を組み合わせたらそんな時間では計算出来ない
>>231
ニュートン法(にゅーとんらぷそん)って、曲線で与えられる関数の根の一つを求める方法でしょ?
いわゆる実数の根を求める方法であって、整数の剰余を求めることはニュートン法では無理なのでは?
何がどうなって「当然」なんですか?
ニュートン法(にゅーとんらぷそん)って、曲線で与えられる関数の根の一つを求める方法でしょ?
いわゆる実数の根を求める方法であって、整数の剰余を求めることはニュートン法では無理なのでは?
何がどうなって「当然」なんですか?
241デフォルトの名無しさん
2019/11/26(火) 21:19:25.20ID:78UVTJ0X 除算が出来るんだから剰余も当然求められる
243デフォルトの名無しさん
2019/11/26(火) 21:23:39.77ID:78UVTJ0X 遅くないです
>>243
本当ですか?わざわざ、あらためて掛け算をするんですよ?私には馬鹿みたいな方法にみえますが?
本当ですか?わざわざ、あらためて掛け算をするんですよ?私には馬鹿みたいな方法にみえますが?
245デフォルトの名無しさん
2019/11/26(火) 21:26:45.06ID:78UVTJ0X 馬鹿みたいな方法にみえるのはあなたが馬鹿だからです
246デフォルトの名無しさん
2019/11/26(火) 21:29:07.44ID:sE/nea3J >>242
ニュートン法なので、
z = b / a の z を求めたい場合、直線 y = a * x - b と x 軸(y=0) との交点の
x を求めることによって行う。その際、x0, x1, ・・・, xn のように x を
漸化的に交点に近づけていく。数学的直感だと、その途中で剰余も求められ
るように出来そうな気がする。
ニュートン法なので、
z = b / a の z を求めたい場合、直線 y = a * x - b と x 軸(y=0) との交点の
x を求めることによって行う。その際、x0, x1, ・・・, xn のように x を
漸化的に交点に近づけていく。数学的直感だと、その途中で剰余も求められ
るように出来そうな気がする。
247デフォルトの名無しさん
2019/11/26(火) 21:43:45.68ID:sE/nea3J >>246
色々なやり方はあると思うけど、2^m <= a < 2^(m+1) の場合、
x_{k+1} = x_k - (y_k << m);
y_{k+1} = a * x_{k+1} - b;
の漸化式でいけるかも知れない。
間違っていたらゴメンなさい。
色々なやり方はあると思うけど、2^m <= a < 2^(m+1) の場合、
x_{k+1} = x_k - (y_k << m);
y_{k+1} = a * x_{k+1} - b;
の漸化式でいけるかも知れない。
間違っていたらゴメンなさい。
248デフォルトの名無しさん
2019/11/26(火) 21:44:43.61ID:78UVTJ0X249デフォルトの名無しさん
2019/11/26(火) 21:49:53.94ID:sE/nea3J250デフォルトの名無しさん
2019/11/26(火) 21:53:39.27ID:sE/nea3J >>247
ここで、0<= y_k < x_k が満たされれば、x_k が商、y_k が余りだと思う。
初期条件は、
x_0 = 1;
y_0 = a * x_0 - b;
とすればよいはず。
途中、y_k が負の値になることが有るが、問題ない。
ここで、0<= y_k < x_k が満たされれば、x_k が商、y_k が余りだと思う。
初期条件は、
x_0 = 1;
y_0 = a * x_0 - b;
とすればよいはず。
途中、y_k が負の値になることが有るが、問題ない。
251デフォルトの名無しさん
2019/11/26(火) 21:55:42.20ID:78UVTJ0X 前提は分母も分子も巨大な桁数で良いんだよね?
■ このスレッドは過去ログ倉庫に格納されています
