基本情報技術者のシフト演算と2進数の掛け算割り算 - FC2ブログの有料プランで素人が雑記ブログで記事書きまくる

基本情報技術者のシフト演算と2進数の掛け算割り算

基本情報
基本情報技術者のシフト演算と2進数の掛け算割り算
今回の記事では基本情報技術者試験での基礎であるシフト演算と2進数の掛け算と割り算の話をしていきたいと思います。
シフト演算とは、2進数を表すビット列を、左、または右にずらす操作のことです。

例えば10進数で考えると、
354400という数値に対して100(10^2)を掛けると、35440000
354400という数値に対して100(10^2)で割ると、3544になります。
これは小学生で習うことなので当然だと思います。

では2進数の場合どうなるか、正直上の例と同じです。
1100という数値に対して4(2^2)を掛けると、110000
1100という数値に対して4(2^2)で割ると、11になります・
このように進数に対する累乗分掛けるか割るかで左、または右にシフトしていきます。
これがシフト演算の簡単な考え方です。

左論理シフトは2^n倍
右論理シフトは1/2^n倍
という考え方になります。

もし8ビット表現の際に11100000を4倍すると左に2つシフトし、10000000となります。
そのとき11がはみ出て削除されます。このように指定された表現ビット数を超えてしまう現象のことをオーバーフローといいます。
逆に10100011を1/4倍すると右に2つシフトし、00101000となります。
そのとき11がはみ出て削除されます。このようにはみ出た表現ビットは割り算をした結果の余りになります。
論理シフト

・算術シフト
符号を考慮して行うシフト演算のことを算術シフトと言います。
符号は一番左に表現されます。

例えば11100100=-28を4倍し、左に2つシフトする場合。
一旦符号を表すビットを無視して考え、7ビットで表現します。
すると0010000という数値になります。
シフトしたのちに符号を付け加え、結果的に10010000になります。

次に、11100100=-28を1/4倍し、右に2つシフトする場合。
符号を表すビットは同様に固定します。
この際に右シフトの特徴なのですが、右にずらすことで空いた枠に符号と同じ数値を入力することになっています。
なので〇〇11001となっている〇に符号である1を入力します。
1111001となり、最後に符号のビットを加えると11111001になります。

このように、左、右シフトでやり方が少し違うため、注意が必要です。

それでは今回はこの辺で。
エフロン君がおすすめの教材はこちらです。実際に使ったのがキタミ式です。
エフロン君の友人は柏木先生を使ってました。

キタミ式イラストIT塾基本情報技術者(平成30年度) 情報処理技術者試験 [ きたみりゅうじ ]

価格:2,138円
(2018/7/24 15:39時点)
感想(2件)



栢木先生の基本情報技術者教室(平成30年度) イメージ&クレバー方式でよくわかる [ 栢木厚 ]

価格:1,922円
(2018/7/24 15:40時点)
感想(1件)


関連記事

コメント

インストーラー

No title
俺も基本情報受けよかな…

エフロン君

Re: No title
> 俺も基本情報受けよかな…
ぜひ受けてみてください!合格率は2,3割なので決して簡単ではありませんが取れない資格ではありません。頑張りましょう。
非公開コメント

エフロン君

どうも、エフロン君です。 来年から社会人になる国公立大学の大学生です!仕入れた情報や自分が学んできたうえで感じたことなど記載していくので是非見ていってください!


Twitterフォローもよろしくね

よく閲覧されている関連記事はこちらから




にほんブログ村 大学生日記ブログ 大学4年生へにほんブログ村 投資ブログ 仮想通貨マイニングへ
にほんブログ村 就職バイトブログ 大学新卒の就職・就職活動へ


1日1回クリックして応援してくれると嬉しいです。

こちらもよろしく!
このエントリーをはてなブックマークに追加 Share on Google+

訪問者数

bitFlyerにすれば失敗しない!

bitFlyer ビットコインを始めるなら安心・安全な取引所で

GMOなら安心して取引可能!

無料で初めてリスクなし!?

オススメのポイントサイトです。
ポイントでお小遣い稼ぎ|ポイントタウン

人気No1ポイントサイト!

モッピー!お金がたまるポイントサイト

Amazonでお得にゲームを買おう