5月29日(金)1コマ目
今日、やったこと
- 符号ありの左シフト
- 文字コード
今日のホワイトボード
符号ありの左シフト
符号ありの場合、左シフトをすると符号ビットが上書きされておかしな値になることがある。
![]() |
| 図 符号ありの左シフト |
C言語の左シフト(<<)は符号ありでもなしでも単純にシフトする。かけ算を処理速度が速そうだから左シフトで行うとおかしくになるので注意!!
素直に*で掛け算をしてください。
文字コード
前回のつづき。
とりあえず、
- 文字集合 符号化する対象になる文字のあつまり
- 符号化方式 文字を数字に変換するためのルール
は覚えておいてください。
[文字集合・符号化方式]ASCII
コンピュータ初期の文字集合+符号化方式。
欧米生まれなので、文字集合的には100文字程度。->1文字7ビット。
![]() |
| 図 ASCII |
ASCIIで符号化
ASCIIコード表から符号化。
![]() |
| 図 1を符号化 |
![]() |
| 図 a*(1+b)を符号化 |
[文字集合・符号化方式]JIS X 0201
日本版ASCII。
文字集合+符号化方式。
半角カタカナが追加されたので、1文字8ビット。
![]() |
| 図 JIS X 0201 |
JIS X 0201はASCIIと同じ文字を符号化すると、同じ結果になる。(<=ASCIIとの互換性のため)
![]() |
| 図 JIS X 0201で符号化 |
[文字集合]JIS X 0208
このあたりから文字集合と符号化方式を分けるようになった。
ひらがな、漢字を含むため、収納文字数はかなり多い。
文字を区点番号で識別できる。
区点番号は符号化方式ではない。
![]() |
| 図 JIS X 0208の区点番号 |
[文字集合]Unicode
地球上のほぼすべての文字を収納するために生まれた。
文字はUnicode符号位置で識別できる。
![]() |
| 図 Unicode |
[符号化方式]Shift_JIS
日本で多く使われている。
1文字1バイト、2バイトと可変長。
![]() |
| 図 Shift_JIS |
次回は
ビットシフトの確認テストをします。
文字コードの続き(EUC-JPから)。








