#include <iostream>
using namespace std;
int main() {
unsigned long P;
P = 0x7F << 24;
cout << P << endl;
P = 0x80 << 24;
cout << P << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
2130706432
18446744071562067968
Run Code Online (Sandbox Code Playgroud)
如您所见,第一个结果是正确的。但是第二个结果是极其错误的。预期结果为 2147483648,与 18446744071562067968 不匹配。
我想知道为什么
c++ ×1