> > 1Uは無符号の1 > unsigned intが8bitだとしたら > Q1は01000000になるのん? #define USHRT_BIT (256 * sizeof(unsigned int)) #define Q1 (1U << (USHRT_BIT - 2)) uintを16bitとして(確か規格じゃ最低16bitだった筈) USHRT_BIT == 256 * sizeof(unsigned int) == 512 Q1 == (1U << (USHRT_BIT - 2)) == (1U << (512 - 2)) ビットシフトで全部吹っ飛ぶ気がする(;´Д`) 参考:2002/12/03(火)08時50分05秒