No.2ベストアンサー
- 回答日時:
例えば、123000を10で割る時、真面目に計算しませんよね。
誰でも「右端の0を取る」つまり、桁を右にシフトしますね。
コンピュータの内部形式は2進法です。だから、「2で割る」とは
桁を右に1桁シフトすることと同じです。
今はCPUが速いので、問題になりませんが、ずっと以前は割り算は
シフトの200倍近い時間を必要とする遅い命令でした。
つまり、「2で割る」を実際の割り算を使ってやるヤツは「間抜け」
ということを意味したのです。また、機械語の除算命令は剰余も
同時に求まります。これを別々に求めるコーディングを見ると
逆上したものです。例:int a = m / 2; int b = m % 2;
閑話休題
「2で割る」は右へ1回シフトするので、余りは切り捨てられる右端の
1桁の値です。つまり、0x01との論理積で求められるのです。
掲題の件は2進法における割り算の考え方を示唆しているのでは
ないでしょうか。
尚、更に昔は乗算、除算という命令もありませんでした。
No.1
- 回答日時:
普通整数除算と言えば、割る数も割られる数も割った結果もすべて整数という意味だと思うが。
つまり余りは一切考えない。例:
6/2 = 3
12/5 = 2 ※2.4じゃない
というか、(L+M)/2=Mじゃ式として意味をなさないわけだが。
代入文 M := (L+M)/2
もしくは
比較文 (L+M)/2 == M
なんだろうけど、前者なら左右逆にすると全く意味が違うし、後者なら(L==M)OR(L==M+1)と同値。
どっちにしても、LもMもループ毎にインクリメントするのであれば不毛な計算に見える。
ただの例として挙げられていてそもそもあまり意味がないのか、
それとも何かメモリの制限された環境でも想定しているのか。。。
まぁ、本題には関係ないか。
# あと、なぜに全角。見た目的に気になってせうがない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
文字参照は10進数と16進数では...
-
情報源符号化について
-
CASLのビットマップについて
-
2の補数
-
シーケンス制御について質問で...
-
1の補数
-
C言語で行列の演算するには?
-
数値計算における誤差について
-
PIC16F88で500という数字を8ビ...
-
いまいちビット演算の目的が分...
-
三菱シーケンサーの命令でFROM ...
-
エクセルVBAのIf,Then 構...
-
PS3に搭載されている"Cell"は、...
-
二元対称無記憶通信路を実現す...
-
シーケンサのデータレジスタD...
-
アセンブラからC言語に変換する...
-
レジストってなんですか?
-
アセンブラ言語で質問です。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
エクセルVBAのIf,Then 構...
-
A4 持ち込み
-
ビットシフトってどんな時使うの?
-
一般のソフトで画像を扱う場合...
-
文字参照は10進数と16進数では...
-
符号無し整数xを右にnビット回転
-
C言語で128bitの2進数のビット...
-
シーケンス制御についての質問...
-
PLC 命令について
-
命令について
-
Python: 数値を反転させたい
-
情報科学の飽和演算、ラップア...
-
1の補数
-
03分22秒36のような時間の単位...
-
ビット立つの意味
-
verilog 符号付加減算(最上位...
-
上位ビットと下位ビットの入れかえ
-
シーケンス制御について質問で...
おすすめ情報