アルゴリズムの除算についての初歩的な質問

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
みんさん  
(No.1)
アルゴリズムで、例えばFint÷10と出てきた場合に、Fint=12ならばFint÷10=1ですか?
普通の計算だと、1あまり2または1.2になると思うんですが、なぜアルゴリズム中では商だけなのでしょうか。
Fintは整数型と定義されてますが、だからでしょうか?
2019.10.05 20:12
QMさん 
FE ゴールドマイスター
(No.2)
整数同士の計算は、答も整数で出します。
余りはあくまで余りであって商ではないので、無視です。

多くのプログラミング言語でそのような仕様になっているため、アルゴリズムでもそれが標準となっているようです。
整数演算回路における割り算は、要するに引き算の繰り返しで、小数計算をする仕組みにはなっていないのです。

もっとも、最近ではPythonが普通に割り算をすれば小数で答を出したりするので、将来的には当然の前提ではなくなるかもしれませんね。
2019.10.05 20:38
みんさん  
(No.3)
なるほど...アルゴリズムでは商だけなのが標準なのですね。
また、割り算が引き算の繰り返しで行われていることも初めて知りました。
ためになる回答、ありがとうございます。
2019.10.05 21:18
管理人 
(No.4)
午後問題冊子の冒頭部に「共通に使用される擬似言語の記述形式」という説明があり、その中で演算子の動作が定義されています。

整数同士の除算では,整数の商を結果として返す。%演算子は,剰余算を表す。
2019.10.05 23:11
QMさん 
FE ゴールドマイスター
(No.5)
おお、本当だ。注記に明記してありますね。
どこかに書いてあるはずと思って手元の問題冊子を見たのですが、なぜか見落としたようです。
さすがミルキーさん。
2019.10.06 10:05

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop