VS2008中Dubug模式和Release模式中的位移有关问题

VS2008中Dubug模式和Release模式中的位移问题#include stdafx.h#include iostreamusing namespace std

VS2008中Dubug模式和Release模式中的位移问题
#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位的话就超出了
你可以看看反汇编的代码