2009年2月19日木曜日

気持ちにゆとりを

C言語で、
printf("%02X¥n", 0x80);

とやると、普通に
80

と表示されます。

ところが、
char ch = 0x80;
printf("%02X¥n", ch);

とやると、アレレ
FFFFFF80

と表示されてしまいます。

実はこれ、chが signed charで宣言されているのが原因ですね。
unsigned char 0x80;
printf("%02X¥n", ch);

とやると、ちゃんと
80

と表示されます。

今日ちょっと仕事が溜まって焦ってた時にこれでハマってしまいました。いや、冷静になって考えればすぐにわかるようなことなんですけどね...仕事は気持ちに余裕をもつことが大事ですね...と。

0 件のコメント: