基本情報技術者試験対策(10)「2の補数表現と小数点形式(3)」

スポンサーリンク
IT系

固定小数点形式

コンピュータの内部で小数点数(小数点がある数) を表す場合は、小数点を意味するドット(.) を使わずに、0と1だけで表現する。 そのための形式として、固定小数点形式浮動小数点形式がある。

固定小数点形式は、あらかじめ小数点の位置を決めておくものである。

例えば、8ビットの2進数で、 上位4ビットと下位4ビットの間に小数点があると決めておけば、 01011010が0101.1010を表していることになる。実際には01011010という整数であっても、それを0101.1010という小数点数とみなす。 マイナスの小数点数は、2の補数表現で表す。

設定ルール

  • 8ビット(1バイト)のデータを使用
  • 上位4ビット:整数部
  • 下位4ビット:小数部
    → 小数点は常に「4ビット目の後ろ」にあると決まっている。

2進数の小数点以下の桁の重み

0101.1010という2進数を10進数に変換してみよう。 小数点以下の数があっても、2進数を10進数に変換する手順は、 「各桁の数字に、桁の重みを掛 けて、集計する」である。 10進数の小数点以下の桁の重みが、 0.1、0.01、0.001、 0.0001 (10-1、10-2、 10-3, 10-4) であるように、 2進数の小数点以下の桁の重みは、 0.5、0.25、 0.125、0.0625(2-1 2-2 2-3 2-4) である。

2進数の桁の重みは、 桁が上がると2倍になり、 桁が下がると1/2になることから、すぐに求められる。 0101.1010という2進数を10進数に変換すると、 整数部分が4+1=5で、 小数点以下が0.5+0.125 = 0.625なので、 5.625 になる。

区分ビット列意味10進換算
整数部01010×8 + 1×4 + 0×2 + 1×15
小数部10101×1/2 + 0×1/4 + 1×1/8 + 0×1/160.625
合計0101.10105 + 0.6255.625

参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]2025年版

コメント

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