LoginSignup
0
0

More than 3 years have passed since last update.

浮動小数点

Posted at

浮動小数点の利点

ルールを使うことで・・・少ない情報量で非常に大きな範囲の数が表現できる。
→メモリ使用の効率化
ex 1.000000000000=1.0✖️10^12
0.000000000001=-1.0✖️10^-12

浮動小数点の表現方法

浮動小数点は3つの部屋に分かれる

スクリーンショット 2021-02-23 17.57.30.png

それぞれの部屋の説明は以下の通りである。

1.符号部
数値の正負を表す部分
1なら負数 0なら正数

2.指数部
指数部とはn乗を表す部分 ex. 1.0✖️10^12←この12の部分
2進数の不動小数点の場合はnに127を足した値とする。

3.仮数部
頭の1.0の表す部分
但し、整数部分が1になるまでシフト演算を行い、
整数部の1を省略して小数点第一位の値から格納する。
余った部分はゼロで埋める。

浮動小数点の直し方

ex 10進数0.375を2進数の浮動小数点形式に直す

STEP1 0.375を2進数へ変換。
0.375=0.011

STEP2 2進数を**1.Mという表現になるように直す
0.011=1.1✖︎2^-2乗(左へ2ビットシフト)

STEP3 変換して出した指数に(127)10=(01111111)を足して
仮数部のブランクに格納。

−2(上記指数部)+127=125→(01111101)となる

スクリーンショット 2021-02-23 19.15.55.png

STEP4 変換した仮数部を格納する
→変換して出てきた仮数(1.1)から整数部分を省略して
小数第一位から格納していく
余った部分は0で埋める。
スクリーンショット 2021-02-23 19.25.21.png

STEP5 符号部に該当の符号を入力して完成。
今回の場合は先頭に0を追加

参考文献

キタミ式基本情報技術者P58〜P66

Something went wrong

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0