1.6 全角1文字

<問題> 全角文字をうけとり、16ビット(2バイト)の内部表現を確認しよう。


<実行例>

>0106
全角文字を1文字: 土
全角文字 [土]の2バイト文字コードは、[9379]です。




#include <stdio.h>
#include <string.h>

int main (void) {
    unsigned char tbc[3]; /* two byte character */
    unsigned short code;  /* 2バイト分の整数 */

    printf("全角文字を1文字: ");
    gets(tbc);

    code = tbc[0] * 0X100 + tbc[1]; /* 最初の1バイトには16進数で100、10進数で256をかけて、8ビットシフト */
    printf("全角文字 [%s]の2バイト文字コードは、[%04X]です。\n", tbc, code); /* 上位が0なら、0を表示 */

    return 0;
}