情報処理の基礎——2進数・16進数・補数・文字コード | 中小企業診断士1次試験 経営情報システム

U

経営情報システムの中で「計算問題が出るかも」という緊張感があるのが、2進数・16進数の変換です。最初は「なぜ診断士の試験にこんな問題が?」と思いましたが、ITシステムを理解する診断士として、コンピュータがどうやって数を扱うかの基礎を知ることは意味があると感じています。計算手順を一度しっかり理解すれば、変換問題は確実に得点できます。

情報処理の基礎として、コンピュータは2進数を基本とした数値表現を使います。試験では10進数⇔2進数⇔16進数の相互変換、2の補数による負の数の表現、文字コードの種類と特徴が出題されます。計算手順を手順通りに実行できれば確実に得点できる分野です。

目次

基数と記数法——2進数・8進数・16進数の仕組み

私たちが日常使う10進数は「0〜9の10種類の数字を使い、10で繰り上がる」記数法です。コンピュータは電子回路の「ON/OFF」しか表現できないため、0と1だけの2進数を基本とします。

名称基数使う数字繰り上がりコンピュータでの用途
2進数(binary)20、12で繰り上がりコンピュータの内部表現の基本
8進数(octal)80〜78で繰り上がり2進数3桁を1桁で表現(一部のシステム)
16進数(hexadecimal)160〜9、A〜F16で繰り上がりメモリアドレス・カラーコード・バイナリデータ
10進数(decimal)100〜910で繰り上がり人間が通常使う表現
16進数の特別な点:10〜15を表すためにA(10)、B(11)、C(12)、D(13)、E(14)、F(15)を使います。2進数4桁ちょうどが16進数1桁に対応するため、メモリアドレスの表示やプログラムのデバッグで広く使われます。

基数変換の方法——10進→2進→16進

基数変換は「割り算の余りを逆順に読む」方法が基本です。手順を覚えれば計算問題は確実に解けます。

例:10進数 「13」 を 2進数 に変換する
13 ÷ 2 = 6 余り 1 ← 最下位ビット(LSB)
6 ÷ 2 = 3 余り 0
3 ÷ 2 = 1 余り 1
1 ÷ 2 = 0 余り 1 ← 最上位ビット(MSB)
→ 余りを下から読むと 1101(2)
例:2進数 「1101」 を 10進数 に変換する(重み計算法)
1×2³ + 1×2² + 0×2¹ + 1×2⁰
= 1×8 + 1×4 + 0×2 + 1×1
= 8 + 4 + 0 + 1 = 13(10)
例:2進数 「1101 1010」 を 16進数 に変換する(4桁ずつ区切る)
1101 → D(13)
1010 → A(10)
→ DA(16) ※2進数4桁が16進数1桁に対応
10進数2進数(4bit)16進数
000000
501015
101010A
121100C
151111F
160001 000010

2の補数——負の数の表現

コンピュータは「-(マイナス)」の符号を直接扱えません。そこで「2の補数」という方法で負の整数を表現します。

2の補数の求め方:
① 元の2進数の各ビットを反転する(0→1、1→0)。これを「1の補数」という。
② 1の補数に1を加える。これが「2の補数」=負の数の表現になる。
例:8bit で「-13」を表現する(2の補数)
13(10進)= 0000 1101(2進・8bit)
① ビット反転(1の補数):1111 0010
② 1を加算: 1111 0011
→ 1111 0011 が -13 の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億
試験でよく問われる8bitの範囲:符号付き8bitでは「-128〜127」。負の方向が1つ多い(-128があるが128はない)のは、2の補数の性質によるものです。「符号付きの最大値は2^(n-1)-1、最小値は-2^(n-1)」を覚えておきましょう。
U

2の補数は「なぜこんな面倒な方法で」と思いましたが、理由は加算回路だけで減算も実現できるからです。A-B は A+(-B) と同じ。-Bを2の補数で表せば、引き算も足し算の回路で計算できる。コンピュータのハードウェア設計を簡単にするための工夫なんですね。

文字コード——ASCII・JIS・Shift-JIS・Unicode・UTF-8

コンピュータは文字も数値として扱います。「どの数値がどの文字か」を定めた対応表を「文字コード」と呼びます。文字化けはこの対応表の不一致が原因です。

文字コード ①
ASCII(アスキー)
7ビットで128種類の文字を表現。英数字・記号・制御文字を収録。半角英数字のみ対応。日本語は扱えない。インターネットの基盤となった最も基本的な文字コード。
文字コード ②
JISコード(ISO-2022-JP)
日本語文字セットのJIS規格。メールなどで使われてきた。「エスケープシーケンス」で文字集合を切り替える方式。HTMLや現代のWebでは使用が少ない。
文字コード ③
Shift-JIS(シフトJIS)
Windowsで広く使われてきた日本語文字コード。1バイトと2バイト文字が混在する「マルチバイト文字コード」。旧来のWindowsアプリやCSVファイルでよく見られる。
文字コード ④
Unicode(ユニコード)
世界中の文字を一つの規格でカバーすることを目指した文字コード。UTF-8・UTF-16・UTF-32などのエンコーディング方式がある。現代のWebとソフトウェアの標準。
文字コード ⑤
UTF-8
Unicodeのエンコーディング方式の一つ。ASCIIと互換性があり(ASCII文字は1バイト)、日本語は3バイトで表現。現在のWebページの標準的な文字コード。
文字コードバイト数/文字特徴主な用途
ASCII1バイト(7bit)英数字・記号のみ。128種類インターネットプロトコルの基盤
Shift-JIS1〜2バイトWindows日本語標準。混在型旧Windowsアプリ・CSVファイル
UTF-81〜4バイトASCII互換。世界標準現代のWebページ・メール
UTF-162〜4バイト日本語は固定2バイトWindowsのOSレベル処理・Java

浮動小数点数の概念

浮動小数点数(floating point number):小数を「仮数部」と「指数部」に分けて表現する方法。1.25×10² のような科学的記数法と同じ考え方。

コンピュータでは「符号部(1bit)」「指数部(exponent)」「仮数部(mantissa/fraction)」の3部分で表現する。IEEE 754規格が標準。単精度(32bit)と倍精度(64bit)がある。浮動小数点数は有限のビット数で表現するため、完全に正確には表せない誤差(丸め誤差)が生じることがある。

よくある試験問題パターン(FAQ)

10進数の「25」を2進数に変換せよ
25÷2=12余り1 / 12÷2=6余り0 / 6÷2=3余り0 / 3÷2=1余り1 / 1÷2=0余り1。余りを下から読むと「11001」。確認:16+8+0+0+1=25。正解は 11001(2) です。
16進数の「2F」を10進数に変換せよ
2×16¹ + F×16⁰ = 2×16 + 15×1 = 32 + 15 = 47(10)。FはAscii的に16進数で15を意味します。
8bitの符号付き2進数で表現できる最小値は?
-128 です。8bitの符号付き整数では -2^(8-1) = -2^7 = -128 が最小値。最大値は +2^7 – 1 = +127 です。負の方向が1つ多い点に注意。
現代のWebページで広く使われている文字コードは何か?
UTF-8です。Unicodeのエンコーディング方式で、ASCIIと互換性があり、世界中の文字を表現できます。日本語(ひらがな・漢字)は3バイトで表現されます。

まとめ

  • 10進→2進変換:2で割り続けて余りを逆順に読む
  • 2進→10進変換:各桁に2の乗数(重み)を掛けて合計する
  • 2進⇔16進変換:4桁ずつ区切るだけ(最も使いやすい変換)
  • 2の補数:ビット反転して1を加算。負の数の表現に使う
  • 8bit符号付き整数の範囲:-128〜127(256種類)
  • 文字コード:ASCII(英数字のみ)→Shift-JIS(旧Windows)→UTF-8(現代のWeb標準)
Uのメモ
基数変換の計算問題は「手順通りに計算するだけ」なので、一度しっかり練習すれば確実に正解できます。試験本番でも時間をかけて丁寧に計算すれば大丈夫です。文字コードは「UTF-8がWeb標準・Shift-JISが旧Windows・ASCIIが英数字のみ」という整理で選択肢を絞れます。文字化けの原因は「送信側と受信側で異なる文字コードを使っている」ということも頭に入れておくと応用問題にも対応できます。

情報処理の基礎である2進数・16進数・補数・文字コードは、手順を理解してしまえば確実に得点できる分野です。基数変換は「割り算の余りを逆順」、2の補数は「ビット反転して1加算」、文字コードは「UTF-8がWeb標準」——この3つを軸に整理しておくと、試験問題を落ち着いて解けるようになります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

中小企業診断士試験勉強中のアラフィフシングルマザーです。
大学卒業後から現在まで、数々の失敗をしながらずっと自営業として試行錯誤を重ねてきました。
もっときちんと経営やビジネスの知識を身につけて、将来は他の事業者の方のお役にも立てたらいいな、と思うようになり、中小企業診断士の試験に挑戦中です。

目次