问题的起因:
int i = 0x7f7f7f7f;
cout << hex << (i<<-1) << endl;
输出是什么?
80000000
为什么会这样呢?
当 A<<B 时,编译器会进行 A<<(B&32) 操作得出最后的结果!!!
int i = 0x7f7f7f7f;
cout << hex << (i<<-1) << endl;
输出是什么?
80000000
为什么会这样呢?
当 A<<B 时,编译器会进行 A<<(B&32) 操作得出最后的结果!!!