U経営情報システムの中で「計算問題が出るかも」という緊張感があるのが、2進数・16進数の変換です。最初は「なぜ診断士の試験にこんな問題が?」と思いましたが、ITシステムを理解する診断士として、コンピュータがどうやって数を扱うかの基礎を知ることは意味があると感じています。計算手順を一度しっかり理解すれば、変換問題は確実に得点できます。
情報処理の基礎として、コンピュータは2進数を基本とした数値表現を使います。試験では10進数⇔2進数⇔16進数の相互変換、2の補数による負の数の表現、文字コードの種類と特徴が出題されます。計算手順を手順通りに実行できれば確実に得点できる分野です。
基数と記数法——2進数・8進数・16進数の仕組み
私たちが日常使う10進数は「0〜9の10種類の数字を使い、10で繰り上がる」記数法です。コンピュータは電子回路の「ON/OFF」しか表現できないため、0と1だけの2進数を基本とします。
| 名称 | 基数 | 使う数字 | 繰り上がり | コンピュータでの用途 |
|---|---|---|---|---|
| 2進数(binary) | 2 | 0、1 | 2で繰り上がり | コンピュータの内部表現の基本 |
| 8進数(octal) | 8 | 0〜7 | 8で繰り上がり | 2進数3桁を1桁で表現(一部のシステム) |
| 16進数(hexadecimal) | 16 | 0〜9、A〜F | 16で繰り上がり | メモリアドレス・カラーコード・バイナリデータ |
| 10進数(decimal) | 10 | 0〜9 | 10で繰り上がり | 人間が通常使う表現 |
基数変換の方法——10進→2進→16進
基数変換は「割り算の余りを逆順に読む」方法が基本です。手順を覚えれば計算問題は確実に解けます。
| 10進数 | 2進数(4bit) | 16進数 |
|---|---|---|
| 0 | 0000 | 0 |
| 5 | 0101 | 5 |
| 10 | 1010 | A |
| 12 | 1100 | C |
| 15 | 1111 | F |
| 16 | 0001 0000 | 10 |
2の補数——負の数の表現
コンピュータは「-(マイナス)」の符号を直接扱えません。そこで「2の補数」という方法で負の整数を表現します。
① 元の2進数の各ビットを反転する(0→1、1→0)。これを「1の補数」という。
② 1の補数に1を加える。これが「2の補数」=負の数の表現になる。
| ビット数 | 表現できる種類数 | 符号なし範囲 | 符号付き範囲(2の補数) |
|---|---|---|---|
| 8bit(1バイト) | 256種(2⁸) | 0〜255 | -128〜127 |
| 16bit(2バイト) | 65,536種(2¹⁶) | 0〜65,535 | -32,768〜32,767 |
| 32bit(4バイト) | 約42億種(2³²) | 0〜約42億 | 約-21億〜約21億 |



2の補数は「なぜこんな面倒な方法で」と思いましたが、理由は加算回路だけで減算も実現できるからです。A-B は A+(-B) と同じ。-Bを2の補数で表せば、引き算も足し算の回路で計算できる。コンピュータのハードウェア設計を簡単にするための工夫なんですね。
文字コード——ASCII・JIS・Shift-JIS・Unicode・UTF-8
コンピュータは文字も数値として扱います。「どの数値がどの文字か」を定めた対応表を「文字コード」と呼びます。文字化けはこの対応表の不一致が原因です。
| 文字コード | バイト数/文字 | 特徴 | 主な用途 |
|---|---|---|---|
| ASCII | 1バイト(7bit) | 英数字・記号のみ。128種類 | インターネットプロトコルの基盤 |
| Shift-JIS | 1〜2バイト | Windows日本語標準。混在型 | 旧Windowsアプリ・CSVファイル |
| UTF-8 | 1〜4バイト | ASCII互換。世界標準 | 現代のWebページ・メール |
| UTF-16 | 2〜4バイト | 日本語は固定2バイト | WindowsのOSレベル処理・Java |
浮動小数点数の概念
コンピュータでは「符号部(1bit)」「指数部(exponent)」「仮数部(mantissa/fraction)」の3部分で表現する。IEEE 754規格が標準。単精度(32bit)と倍精度(64bit)がある。浮動小数点数は有限のビット数で表現するため、完全に正確には表せない誤差(丸め誤差)が生じることがある。
よくある試験問題パターン(FAQ)
10進数の「25」を2進数に変換せよ
16進数の「2F」を10進数に変換せよ
8bitの符号付き2進数で表現できる最小値は?
現代のWebページで広く使われている文字コードは何か?
まとめ
- 10進→2進変換:2で割り続けて余りを逆順に読む
- 2進→10進変換:各桁に2の乗数(重み)を掛けて合計する
- 2進⇔16進変換:4桁ずつ区切るだけ(最も使いやすい変換)
- 2の補数:ビット反転して1を加算。負の数の表現に使う
- 8bit符号付き整数の範囲:-128〜127(256種類)
- 文字コード:ASCII(英数字のみ)→Shift-JIS(旧Windows)→UTF-8(現代のWeb標準)
情報処理の基礎である2進数・16進数・補数・文字コードは、手順を理解してしまえば確実に得点できる分野です。基数変換は「割り算の余りを逆順」、2の補数は「ビット反転して1加算」、文字コードは「UTF-8がWeb標準」——この3つを軸に整理しておくと、試験問題を落ち着いて解けるようになります。









