コンピュータでは2進数で計算を行います。
前回の記事で2進数の表し方は説明しました。
まだ不安な方はぜひこちらを参照してください。
さて、ここではコンピュータで扱う少数について説明していきます。
当然、計算するとき少数やマイナスを扱いたい時もあります。
そんな時は浮動小数点数というものを使います。
浮動小数点数は「符号部」「指数部」「仮数部」の3パートから成り立ちます。
(この箱の数は問題によって変わる可能性があるのでよく問題を見てください)
10進数を浮動小数点数に変えるには以下の3ステップに従えば簡単にできます!
ここでは13.625を浮動小数点数に変えてみましょう!
Step 1 10進数を2進数に変える
まずはなんといっても2進数に変えないと始まりません。
ここがまだ自信のない方はこちらの記事を参考にしてください。
計算すると13.625(10)=1101.101(2) が得られます。
ここからがスタートです。
Step2 整数部分が1になるように表し方を変える
今整数部分は1101となっていますが、これを1だけになるように変えていきます。
化学などで有効数字などを扱っている人には簡単かもしれませんが、以下のように計算を行います。
1101.101 = 1.101101 × 23
いかがでしょうか?
整数部分が1だけになるように小数点をずらし、ずらした分だけ2をかけてあげることで辻褄を合わせています。
よく分からない人は
❶整数部分が1になるまで小数点をずらす
❷ずらした桁数分2がかけられる
ということだけ覚えておきましょう!
Step3 浮動小数点の枠に入れていこう!
ここまで来ればあとは、この枠に数字を入れていくだけです!
❶符号部
符号部は数字の正負を表す箱です。
数字が正なら0を、負なら1を入れてください。
今回の例では正の数なので「0」が入ります。
❷指数部
先ほど「ずらした桁数分2がかけられる」といのが出てきましたね?
これが指数部になります。
今回の例ですと「3」になります。
ここで注意点!
指数部の箱に入れるときにはそのまま入れず15足した数を入れます!
こうすることで小さい少数まで表すことができるようになります。
(この理由は特に覚えなくても大丈夫ですのでとにかく15足すんだ!ってことだけを覚えておいてください)
今回の例ですと3+15で18を入れることになります。
そして、面倒ですが18をまた2進数に直してください。
18=10010(2) なので10010が指数部に入ります。
❸仮数部
仮数部には1101.101 = 1.101101 × 23 の少数部分が入ります。
1101.101 = 1.101101 × 23 この下線を引いた部分です!
整数部分の1は入らないことに注意してください。
仮装部は10ビットありますので、101101以降は全て0を入れてください。
まとめるとこうなります
浮動小数点で表す簡単3ステップ!
❶2進数に変換する
❷整数部分が1になるように表す
❸浮動小数点の枠に入れていく
いかがでしょうか?できそうですか?
気をつけなくてはいけないのは指数部の数には15を足さなくてはいけないこと。
これさえ忘れなければ、数問練習すればできるようになってしまうと思います!
頑張りましょう!