
No.2ベストアンサー
- 回答日時:
バイナリサーチに使われている変数ということなら
r、lとも正の整数で l≦r ということでいいよね?
以下説明のためr、lとも16bit整数(-32768~32767)とし、計算途中も全てすべて16bit整数とします。
とすると、 たとえば r=32000 l=16000 だとすると
mi=(r+l)//2 なら r+lを計算した時点で32767超えとなるのでアウト。
mi=l+(r-l)//2 なら、32767超えとなるタイミングは存在せず。
mi=r+(l-r)//2 は、32767超えは問題ないが、可読性に劣る。
mi=(r+l)//2は、データ数16384以下でないとマズイ、という条件がつくから、コレはダメ。 であるのに、なぜか、直された。
というのが質問の趣旨、でしょうか。
現行CPUは64bitなので、現実マズイことになることはあまりなさそうなので、
可読性重視で mi=(r+l)//2
のいうのもアリ(データ数があまり大きくない、という前提で。)と思う。
そして、ソフトが直したのは、可読性云々ではなくて
mi=l+(r-l)//2よりmi=(r+l)//2のほうが計算が速い
という理由だと思う。
で、16bit整数なら、デメリットがデカイと思うが、32bit整数以上なら
可読性重視でいいと思う。でも、直された理由は、そうじゃなくて計算速度重視ぽいので、そりゃないよ、と思う。
※なお、配列サイズ固定で宣言している場合、(r+l)//2で問題ない
と判断して修正 という可能性がある。これはその通りなので.....
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AI・ロボット GoogleのAIは、昨日から今日にかけて、BardからGeminiへと変わりました。 BardとG 0 2024/02/09 22:30
- AI・ロボット Googleから新しいAIのGeminiが登場しましたが、日本語版が出るのはいつですか。 1 2023/12/07 22:17
- その他(プログラミング・Web制作) MacのPythonでの開発について 3 2024/02/09 14:13
- 数学 数学での跡異常とはなんですか?行列のトレース(跡)ならWikipediaにもありますが。chatGP 4 2024/02/14 21:44
- バイク車検・修理・メンテナンス 原付 キャブレター オーバーフロー 4 2024/02/18 01:36
- Android(アンドロイド) スマホをメルカリで販売 スマホを初期化する方法を教えてください 2 2022/09/25 02:29
- アプリ Androidってなぜ役に立たないブラウザアプリばかりなんでしょうか? 逆にiPhoneは、役に立つ 5 2022/10/08 20:50
- Gmail Googleアカウントの制限について 会社で何個か作ってましたら。ロボットではないかの 電話番号認証 1 2024/01/02 22:17
- プリンタ・スキャナー 特定のブラウザで、ページ印刷を行うと、プリンターがトラブルになります。 1 2022/08/15 06:42
- 哲学 逆噴射社会 1 2023/05/28 08:43
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
影、悪、闇、死、血、死神、悪...
-
結婚式に歌う曲、これ!って曲...
-
この「教えて!goo」で回答する...
-
太宰府天滿宮 求解籤詩
-
マットレス、洗っても大丈夫?
-
欧州や北米、南米で最も多く使...
-
google earthが使いたい
-
「覆道」の読みは?
-
google - インスタントアップロ...
-
広告の自動挿入方法
-
ソニーのVGN-U71PとVGN-U70Pの...
-
MitaineとMoufleの違いは?
-
ロシア語?
-
googleスプレッドシート
-
故事成語とは? テスト範囲で故...
-
ら↑ーりら↑ーりら↑ーれ↓ すみま...
-
google photoとdriveのアンイン...
-
ダクトのラッキング?
-
google hangout
-
『現代』を色んな外国語に訳すと?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
太宰府天滿宮 求解籤詩
-
10億ウォンって日本円でいくら...
-
「goo」と「google」 の違い
-
痴女ってどうゆう意味ですか? ...
-
gooってグーグルと関係あります...
-
影、悪、闇、死、血、死神、悪...
-
「ヘーゼル」ってどんな色の目...
-
Gmailで添付ファイル付きメール...
-
自分のサイトにrate-limited-pr...
-
googleへの問い合わせメールか...
-
googleのメッセージアプリについて
-
NslookupでIPアドレスだけ出力,...
-
ダクトのラッキング?
-
cu ft.って何リットル?
-
バーコードリーダーで小文字を
-
今ってwiiuの充電器ってどこで...
-
直江兼続の馬名を教えてください。
-
教えてgoo ってgoogleじゃないの?
-
大阪市内から ...
-
この画像の右の中国人?巨乳美...
おすすめ情報