みなさんこんにちは!おさかなです!
今回から「誰でもわかる基本情報シリーズ」というテーマで「基本情報技術者試験」に合格するための知識をご紹介していきます!
第8弾は「絶対値表現、補数表現」について、書いていこうと思います!
それでは、レッツゴー!!!!!
・「基本情報技術者試験」を受験しようと思っている人
・「基本情報」に必要な知識を身に着けたい人
・IT初心者の人
前回の復習
前回は「負数の表現」、マイナスの数をどう表現していくのかについて解説していきます…!
今回は「絶対値表現、補数表現」という「負数」のもう少し細かい表現方法を見ていきたいと思います…!
「符号ありデータ」の分類
実は、前回学習した「符号ありデータ」を更に2種類に分けることができます!
この2種類というのが「絶対値表現」と「補数表現」になります。
おお!なんと!!!
1つずつ順番に解説していきます。
絶対値表現
「絶対値表現」とは、普段使用している10進数の符号と同じように考えて、一番左の最上位ビットを「符号ビット」にする表現方法です。
負の数であれば1
という表記になります。
またこの表現方法では、0に対しても符号ビットを付けることになるため、「0」には「正の0」と「負の0」の2種類が存在します。
「+(プラス)」「-(マイナス)」を「0」と「1」に置き換えた感じだね…!
補数表現
補数とは
「補数」とは「ある数nに補うと、100…0になる数」のことです。
例えば、10進数の530は、470を補うと1000になるため、実は470は530の3桁の補数になっているのです!
2進数には「1の補数」と「2の補数」がありますが、現在多くのコンピューターで「2の補数」が使用されています。
補数を使用する最大のメリットは、「足し算で引き算ができる」という点です。
「99」の暗算をするときとか、自然と「1」を補ったりするよね!
2の補数の求め方
「2の補数」は、2進数において負の数を表現するときに使用します。
求め方は、「符号ビットを含めたすべてのビットを反転したもの(1の補数)に1を足す。」という感じです!
なるほどなるほど…💦(わかってない)
それでは、具体例を見ながらイメージを掴んでいきましょう!
今回は10進数の「-5」を8ビットの2の補数で表現で表していきます。
5 … 00000101 …(2進数の5)
11111010 …(ビット列を反転)
-5 …11111011 …(1を足す)
ふむふむ…なんとなく流れは掴んだぞ!
8ビットで表現できる数値の範囲
最後に、8ビットで表せるデータの範囲を見ておきましょう!
2進数 10進数
符号なしデータ … 00000000~11111111 0~255
符号ありデータ … 00000000~01111111(正の数) 0~127
(2の補数) 11111111~10000000(負の数) -1~-128
パッと見ると「法則」みたいなものが見えてきて面白いね!
今回の学習内容まとめ
・「補数」とは「ある数nに補うと、100…0になる数」のこと。
・2進数には「1の補数」と「2の補数」がある。
・「2の補数」は、2進数において負の数を表現するときに使用する。
・2の補数の求め方は「符号ビットを含めたすべてのビットを反転したもの(1の補数)に1を足す。」
しっかり復習しておこう!
おさかなが参考にした「書籍」一覧↓
・(PDF・スマホ単語帳付)かんたん合格 基本情報技術者教科書 令和2年度
・令和02年 イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室 情報処理技術者試験
・キタミ式イラストIT塾 基本情報技術者 令和02年 (情報処理技術者試験)
感想・まとめ
今回は「絶対値表現、補数表現」について、書いていきました…!
いかがだったでしょうか?
負数を語る上では「絶対値表現」と「補数表現」の理解は大切なので、ぜひしっかりと復習をしてみてください…!
↓次回は「固定小数点表示、浮動小数点表示」について解説していきます!
お楽しみに~!
おさかなびではプログラミング学習中の人、ブログ初心者に向けて、「デジタル時代を楽しむためのミニ知識」をご紹介しています!
ぜひ他のページも覗いてみてください…!
それでは今回はこの辺で!
ここまで読んでくださり、ありがとうございました!
おさかなでした!
【おさかなび-osakanav-】では、この記事の感想!おさかなへの応援メッセージ!おさかなに聞きたい事、質問!記事にしてほしい内容!などを大募集中!
「氏名」「メールアドレス」「内容」の3点をご記入の上「osakana1699@gmail.com」までご応募ください!