次の基本情報技術者試験を受けるために勉強をしています。
この2進法とかN進法とかが苦手なのでブログに書かさせていただき、自分なりに整理して頭に入れて行こうと思います。よかったら見ていただければ嬉しいです。
テキストで分かりやすいのが見つからなかった
以前使っていたテキストがわかりにくかったので、今は「キタミ式イラストIT塾 「基本情報技術者」」を使用しています。さすが評判のテキストだけあって分かりやすいのですが、この部分だけ私の頭がかたいせいか、頭の中に残らないというかんじですね。(この数学的なトコ以外はこのテキストでスーと入ってくるのですが、、)
そこで、インターネットでまず分かりやすいページがあるかなと思って探してみました。(もちろん、基本情報技術者試験ドットコム様は真っ先に見ましたが、バカな私にはわかりずらかったですね(泣)
情報処理の問題というよりも高校で習う数学ですね
まず、気づいたのは、情報処理の問題というよりも 中・高校で習う数学の問題という事ですね。情報処理の試験の対応というよりは数学の問題のウェブサイトが検索するとよく出てきました。
本やインターネットのサイトなどいろいろ見た中で自分なりにまとめたのが下の通りです。
まず N 進法を10進法で書き換えると次のようになります。
各位の数字をそれぞれの基数(N)でかけ続けていき、それを全て足す流れです。
これは、自分にもすごいすんなり入りました。 かけた数というは分かりやすかったです。
10進数を N進数たとえば2進数に直す(変換)
問題は逆の方向です。10進数を N進数たとえば2進数に直す(変換)というほうです。
色々読んだ中で一番わかりやすかったのが、 n 進数の n という数字で割ったあまりを書いていくというものです。 このやり方をちゃんと覚えて、順番さえ間違いなければ答えはすんなり行きますね。
でも、なぜ、割っただけで答えが出るのかなという疑問がありました。そこで数式にするとこういう形になるようで、 この式を繰り返し割ると答えが出てくるという形です。
やり方を丸暗記で覚えてしまえば楽なんでしょうけど、ちゃんと消化してわかった方が変に頭のどこかで引っかからなくていいかなと。
私の場合、遠回りでも、そんなやり方があってますね。
小数点以下の2進数の変換
1未満の小数点を2進数と10進数の関係を表すと下の感じです。
10進数 | 分数に直すと | 2進数 |
0.5 | 1/21 | 0.1 |
0.25 | 1/22 | 0.01 |
0.125 | 1/23 | 0.001 |
0.0625 | 1/24 | 0.0001 |
0.03125 | 1/25 | 0.00001 |
2進数の小数は以下のように1桁下がるごとに値が1 /2ずつ小さくなっていきます。
まとめ
n進数(進法)と10進数の変換は、基本中の基本なのだと思いますが、これがスムーズにできれば、結構な差になると思います。
というのも、文系の学生ではあまりなじみがない分野ですので、その学生の点数分だけでもアドバンテージが持てそうですよね。
- 基本情報処理試験の参考書ベスト3
- CBT方式〜時計や飲み物などの持ち物や当日の流れについて
- 午前の試験が免除ってどういう仕組み?
- マネジメント系のポイント
- ストラテジ系のポイント
- 基礎理論編のポイント
- システム開発編~DFDとE-R図など
- ネットワーク編の3つのポイント
- ソフトウエア編の5つのポイント(タスク管理、スプーリングなど)
- データベース編の3つのポイント~データベース操作、ロックの粒度、UML
- 午後〜選択問題の選び方
- 午後〜表計算編
- n進数(進法)と10進数の変換について
- ~各プログラミング言語のポイント~
- 午後〜情報セキュリティ編
- 午後〜データ構造及びアルゴリズム編
- 午後〜ソフトウエア設計編
- java学習法