#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a = 0x12345678;
int b = a << 32;
cout<<hex;
cout<<b<<endl;
getchar();
}
Debug模式输出:12345678
Release模式输出:0
为什么?
------解决方案--------------------------------------------------------
int 是带符号32位整数
你再移32位的话就超出了
你可以看看反汇编的代码