LoginSignup
0
0

基本情報技術者試験 基礎理論 その1 基数変換

Posted at

はじめに

こんにちは!今回から新たな章に突入です!
この基礎理論は試験の最初、つまり「問1」で出題されます。
大変重要なので、細かいところまで学習していこうと思います。

1.進数

日常で使われている10進数は0から9までの10種類の数字を使って、9の次が一つ桁上がりする。
2進数0と1の2種類の数字を使って、1の次が一つ桁上がりする。
コンピュー夕内部では2進数で表現しているが、2進数は桁数が非常に長くなるため、人が考えるときには、2進数と簡単に変換できる、8進数や16進数がよく使われる。

8進数8進数は、0から7までの3種類の数字を使って,7の次が一つ桁上がりする。
16進数0から9までの数字とA,B,C,D,E,Fを使って、Fの次が一つ桁上がりする。

ここで,16進数のA〜Fは文字ではなく,0〜9と同じ数字扱いになる。10進数の10〜15を16進数では1桁で表したいので、数字としてA〜Fを使う。

2.基数と重み対応表

基数は、各桁の重み付けの基本となる数のこと。例えば,10進数1234.567は、次のように表現することができる。

基数10.png
基数は桁上りの基準で、重みはどの桁かを表す値となる。この図の場合、10が基数、乗数が重みである。
上の図より、10進数の基数は10であり,2進数の基数は2、8進数の基数は8、16進数の基数は16と分かる。

このように、nを基数として数値を表す記数法をN進数といい、N進数の各桁の重みは小数点を基準に左へ増えていき、小数点を基準に右へ減っていく。

重み.gif
10進数だけではなく、ほかの進数の重みも同様。

3.N進数から10進数への基数変換

ある進数で表現されている数値を別の進数で表現し直すことを基数変換という。
例として、10進数から2進数へ基数変換する方法をあげてみる。
2進数の数値を10進数で表現するには、各桁に2進数の重みを掛けて足していく。

基数変換.png
このように、N進数の値を10進数で表すには、各桁にN進数の重みを掛けて足していく。

4.10進数からN進数への基数変換

①10進数から2進数に基数変換する場合

基数変換.png
2進数の「重み対応表」を活用して,大さい重みから1を入れるべきかを考える。
まず、4<5.625なので重み4には1、4+2=6>5.625なので重み2には0・・・という感じ。

このように、10進数からN進数に変換する場合は、N進数の「重み対応表」を活用する。

②割り算と掛け算を使う方法

例として、10進数6.375を2進数で表現すると,2進数は110.011。この場合は,整数部(6)と小数部(0.375)に分けて考える。
10進数の数値の整数部を2進数で表現するには,2で割って余りを下から並べる。

基数変換割り算.png

次に、小数部を2進数で表現するには、2を掛けて整数部を順に並べる。
基数変換割り算小数点.png
最後に、整数部と小数部を合わせて、110.011となる。

このように、10進数の値をN進数で表すには、整数部はNで割って余りを下から並べ、小数部はNを掛けて順に整数部を並べる。余りとして各桁の数字が取り出せ、小数部も2を掛けると整数部として同じように取り出すことができる。

なお、10進数0.2を2進数で表現すると,0.001100・・・と無限小数になる。このように,10進数で
桁数が有限な小数を2進数に基数変換する場合:有限桁数で表現できるとは限りらない。

5.2進数と8進数・16進数の関係

2進数と8進数・16進数との基数変換は、より簡単に行うことができる。
小数点を基準に、2進数3桁は8進数1桁で,2進数4桁は16進数1桁で表現する。

小数点を基準に3桁ずつく切って(3桁にならない場合は0を補う)、3桁ずつを8進数で表現する。
また、小数点を基準に4桁ずつ区切って(4桁にならない場合は0を補う)、4桁ずつを16進数で表現します。

今回はここまで。次回は補数について学習します。

エンジニアファーストの会社 株式会社CRE-CO Y.K

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