C言語のシフト演算は気まぐれ

仕事でC言語のコードを見ていて、シフト演算に関するバグにはまったので備忘録として挙げておきたいと思います。 #include <stdio.h> int main(int argc, char **argv) { char num = 0xB3; // - 77 unsigned short hoge = (num << 0); printf("0x%02X", hoge); return 0; } のようなコードを書いた場合hogeには何が入るでしょうか。</stdio.h>…