0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

進数変換でつまずいた話と、理解できるようになるまでにやったこと

0
Posted at

プログラミングを学び始めた頃、
正直に言うと 進数(2進数・16進数)が一番よく分からなかった です。

コードは書けるのに、

  • 16進数が出てくると一気に思考停止する
  • バイナリ表記を見ると桁数で心が折れる
  • デバッグログに 0xFF が出てくると逃げたくなる

そんな状態でした。

この記事は、
「進数が苦手だった自分が、最低限“怖くなくなる”までにやったこと」
をまとめた備忘録です。


なぜ進数が分からなかったのか

今振り返ると、理由はシンプルでした。

  • 進数を「暗記しよう」としていた
  • 変換の仕組みを理解しないまま問題を解いていた
  • 実際に使う場面を想像できていなかった

特に 16進数 = 難しいもの という先入観が強かったです。


まず理解したのは「役割の違い」

あるとき先輩に言われた一言で腑に落ちました。

「人間用が10進数、機械用が2進数、橋渡しが16進数」

この整理だけで、かなり気が楽になりました。

  • 10進数:人間が読む
  • 2進数:コンピュータが処理する
  • 16進数:2進数を人間が扱いやすくするための表現

「全部理解しなきゃ」ではなく
役割を分けて考える のがポイントでした。


16進数が実務で使われる理由を体感した

次にやったのは、
2進数と16進数を並べて見ること です。

例:

  • 2進数:11111111
  • 16進数:FF

これを見たとき、

「あ、そりゃ16進数使うわ…」

と素直に思いました。

  • 桁が短い
  • 見間違えにくい
  • ログやアドレスで扱いやすい

理屈よりも、
視覚的な納得感 が大きかったです。


手計算は最低限でいいと割り切った

正直、今でも
16進数 → 10進数の計算を暗算でやれと言われたら無理です。

ただし、

  • どういう変換が行われているか
  • どの進数からどの進数に変わっているか

この流れさえ理解できていれば、
実務では十分 だと感じています。

学習時は、

  • 少数の例だけ手計算
  • あとはツールで確認

というスタンスに切り替えました。


進数変換ツールは「答え合わせ」に使う

進数学習で個人的に良かったのは、
自分の理解を確認するための変換ツール を使うことでした。

  • 先に自分で考える
  • その後で変換結果を確認する

この流れにすると、
「なんとなく合ってた」「ここが勘違いだった」
というポイントが見えてきます。

学習用途でシンプルに使える進数変換ツールもあるので、
必要に応じて活用するのはアリだと思います。
(自分は https://shinsu.jp/ を確認用に使っています)


進数は「理解する」より「慣れる」

進数に関して思うのは、

  • 一気に理解しようとしない
  • 苦手意識を持たない
  • 使う場面で少しずつ慣れる

これが一番大事だということです。

今では、

  • ログの16進数
  • ビット演算
  • カラーコード

を見ても、
以前ほど拒否反応はなくなりました。


まとめ

  • 進数は暗記しなくていい
  • 役割の違いを理解すると楽になる
  • 16進数は2進数の「見やすい表現」
  • ツールは理解確認のために使う
  • 慣れれば怖くなくなる

進数でつまずいている人の、
気持ちが少しでも軽くなれば幸いです。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?