みなさんこんにちは!おさかなです!
今回から「誰でもわかる基本情報シリーズ」というテーマで「基本情報技術者試験」に合格するための知識をご紹介していきます!
第11弾は「シフト演算」について、書いていこうと思います!
それでは、レッツゴー!!!!!
・「基本情報技術者試験」を受験しようと思っている人
・「基本情報」に必要な知識を身に着けたい人
・IT初心者の人
前回の復習
前回は色々な種類の「誤差」について学習していきました!
今回は「シフト演算」について学習していきたいと思います…!
シフト演算とは?
「シフト演算」とは、桁を左右にずらす(桁移動)することで、乗算(掛け算)や除算(割り算)を行う方法です。
nビット右シフト → 1/2n倍
シフト演算には符号を考慮しない「論理シフト」と符号を考慮する「算術シフト」の2種類があります。
「シフト演算」の2種類について詳しく見ていこう…!
論理シフト
「論理シフト」は符号を考慮しないものです。
そのため左シフト、右シフト共にあふれたビットは捨てられ、空いたビットには「0」が入ります。
次項で具体例を見ていきましょう!
論理左シフト
(2進数) (10進数)
00011000 =24
↙ 4倍(22倍)
0001100000←空いたビットには「0」が入る。 =96
↑
あふれたビットは捨てられる。
論理右シフト
(2進数) (10進数)
00011000 =24
↘ 1/ 4倍(1/22倍)
0000011000←あふれたビットは捨てられる。 =6
↑
空いたビットには「0」が入る。
算術シフト
「算術シフト」は符号を考慮するため、左シフトと右シフトの「空いたビット」の取り扱い方が異なります。
順番に見ていきましょう!
算術左シフト
「算術左シフト」は符号ビットはそのままの位置にとどまります。あふれたビットは捨てられ、空いたビットには「0」が入ります。
(2進数) (10進数)
11101000 =-24
↙ 4倍(22倍)
1110100000←空いたビットには「0」が入る。 =-96
↑符号ビットはそのまま
あふれたビットは捨てられる。
算術右シフト
「算術右シフト」は、符号ビットはそのままで、あふれたビットは捨てられ、空いたビットには「符号と同じビット」が入ります。
(2進数) (10進数)
11101000 =-24
↘ 1/ 4倍(1/22倍)
11100011000←あふれたビットは捨てられる。 =-6
↑符号ビットはそのまま
空いたビットには「符号ビットと同じビット」が入る。
今回の学習内容まとめ
・「シフト演算」とは、桁を左右にずらす(桁移動)することで、乗算や除算を行う方法のこと。
・シフト演算には符号を考慮しない「論理シフト」と符号を考慮する「算術シフト」がある。
・「論理シフト」は、あふれたビットは捨て、空いたビットには「0」が入る。
・「算術左シフト」は、符号ビットはそのまま。あとは論理シフトと同じ。
・「算術右シフト」は、符号ビットはそのまま。あふれたビットは捨て、空いたビットには「符号ビットと同じビット」が入る。
しっかり復習しておこう!
おさかなが参考にした「書籍」一覧↓
・(PDF・スマホ単語帳付)かんたん合格 基本情報技術者教科書 令和2年度
・令和02年 イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室 情報処理技術者試験
・キタミ式イラストIT塾 基本情報技術者 令和02年 (情報処理技術者試験)
感想・まとめ
今回は「シフト演算」について、書いていきました…!
いかがだったでしょうか?
ぜひ、それぞれのシフト演算の方法をきちんと区別して復習してみてください…!
↓次回は「論理演算と論理回路」について解説していきます!
お楽しみに~!
おさかなびではプログラミング学習中の人、ブログ初心者に向けて、「デジタル時代を楽しむためのミニ知識」をご紹介しています!
ぜひ他のページも覗いてみてください…!
それでは今回はこの辺で!
ここまで読んでくださり、ありがとうございました!
おさかなでした!
【おさかなび-osakanav-】では、この記事の感想!おさかなへの応援メッセージ!おさかなに聞きたい事、質問!記事にしてほしい内容!などを大募集中!
「氏名」「メールアドレス」「内容」の3点をご記入の上「osakana1699@gmail.com」までご応募ください!