符号有り無しでどうなるんかわからへんかった

unsigned short aa;
signed short bb;
bb=-300;
TFT.printf("%d[%04X]\n\r",bb,bb);
aa=(unsigned short)bb;
TFT.printf("%d[%04X]\n\r",aa,aa);
bb=(signed short)aa;
TFT.printf("%d[%04X]\n\r",bb,bb);
TFT.printf("%d\n\r",sizeof(signed short));
TFT.printf("%d\n\r",sizeof(unsigned short));

結果は、

-300[FFFFFED4]
65236[FED4]
-300[FFFFFED4]
2
2

と、符号ありのときのサイズが4になるのは、たぶん内部4バイト処理だからだろうけどか、わからないけど、変換はできているみたい。


Please log in to post comments.