小编Aki*_*iya的帖子

unsigned long 不能容纳超过 2,147,483,647 的正确数字

源代码:

#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++

4
推荐指数
1
解决办法
160
查看次数

标签 统计

c++ ×1