32ビットのレジスタに16進数ABCDが入っている時、2ビットだけ右に論理シフトした値はどれか?
レジスタ
- レジスタとは、
マイクロプロセッサ(MPU/CPU)内部
にある、演算や実行状態の保持に用いる記憶素子。最も高速な記憶装置だが、一般的なCPU製品で数個から数十個
(容量に換算して数十バイト程度)と数が限られる。GPUなど特殊なプロセッサでは数万個(数百キロバイト)のレジスタを内蔵するものもある。
出典 https://e-words.jp/w/%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF.html#:~:text=%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%A8%E3%81%AF%E3%80%81%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5,%E5%86%85%E8%94%B5%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE%E3%82%82%E3%81%82%E3%82%8B%E3%80%82 - レジスタはデータを
一時的に記憶
するための、 一種のメモリです。 - レジスタはこのように何ビットかの 2進数 を記憶するメモリですが、 CPU に組み込まれているレジスタには
カウンタの機能
を持ったものや、シフトレジスタの機能
を持ったものなどもあります。
出典 http://www.infonet.co.jp/ueyama/ip/glossary/register.html
- レジスタは、データを一時的に記憶する一種のメモリで、
記憶容量は 8 ビット、16 ビット、32 ビット …等
です。 - シフトレジスタは、記憶している
データの桁を左右にシフトさせる
ことができるレジスタです。 - シフトレジスタの用途は他にもいろいろありますが、
シフトの度に 1 ビット ずつ順にデータを取り出す
ことができますから、 8 回シフトさせると 8 ビット、 すなわち1 バイトのデータをシリアルに変換
することができます。
これなら 8 ビットの情報でも 1 本の通信回線に乗せることができます。 インターネットでもこのように、データをシリアルに変換して通信
しています。
出典 http://www.infonet.co.jp/ueyama/ip/glossary/shiftregister.html
気づき
コンピュータの部品のことか。
プロセッサの中にたくさんあるのか。
シリアルって何?しかしこれは後から調べよう。
問題文はシフトレジスタのことを言っているのか。
ABCD
を2進数に変換、論理シフトで左から00を加えた。その結果
00101010111110011
になるのでこれを16進数に変換
2AF3
となる。
成功。やった。
数値を2進数で格納するレジスタがある。このレジスタに正の整数xを設定した後、”レジスタの値を2ビット左にシフトして、xを加える"操作を行うと、レジスタの値はxの何倍になるか。ここで、溢れ(オーバーフロー)は、発生しないものとする。
気づき
2ビット左にシフトすることは4倍することだから答えは4倍だ。
答えは5倍だった。
奇数なのか。どうしてだろう。説明を読んでみよう。
正の整数を前提としているので今回のシフトは論理シフトらしい。
これの意味がわからない。これ以上説明を読んでもわからないと思ったが他のサイトの解説を読んで理解した。
やっぱり自分の読解力不足だった。
この問題の意味がわからなかった。 レジスタに2進数ので表した整数xを左に2桁シフト、その後整数xを再び加えたため4倍+1倍で5倍になる。
気づき
しかし正の整数を前提としているので今回のシフトは論理シフトが意味がわからない。
多分
登場する整数に負の数がないため符号に考慮しなくてもいいから論理シフトなのかもしれない。
非負の2進数b1b2...bnを3倍にしたものはどれか。
非負とは
非負の整数ってなんですか??マイナスではない整数、つまり正の整数のことですか?(´・ω・`)
当たってますでしょうか!?(>_<)
0と正の整数という意味でしょう。0を含むかどうかに、ポイントがある。
出典 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1160919306
気づき
2進数には0と1があるから非負の数なのだろう。
気づき
3倍とはどのような意味なのかを知らなければならない。
2倍+1倍になることを意識する。
2倍は左にシフトするとできる。だから最後の桁に0をつける。
1倍はその数を足すとできる。
つまり
最後の桁が0であり、元の数が足されているのものが該当する。
なのでア