2進数のシフト演算とかけ算わり算

スポンサーリンク
IT技術

基本情報技術者試験に出るものを解説します。

シフト演算

・論理シフト
 ビット数を固定して左右にずらす方法。
 左論理シフトは2^n倍でn分左にずらす
 右論理シフトは1/2^n倍でn分右にずらす

・算術シフト
 符号ビットを固定して左右にずらす方法
 左算術シフトは2^n倍でn分左にずらす
 右算術シフトは1/2^n倍でn分右にずらし空の場所は符号ビットを追加

かけ算

かける数字を2^nで表す数字に置き換えて計算
筆算で行うと楽。

例)7*3
  =0111*3
  =0111*(2+1)
  =0111*(2^1+2^0)
  =(0111*2^1)+(0111*2^0)
    ↑シフト演算で計算
  =1110+0111
  =10101
  =21

わり算

筆算が分かりやすい

例)15÷3
  =1111÷11
  =101
  =5

コメント

タイトルとURLをコピーしました