大无符号整数在C ++中评估为0

时间:2019-05-13 18:34:16

标签: c++

这个非常简单的代码:

#include <iostream>

int main() {

    const std::uint64_t number = 1024U * 1024U * 1024U * 1024U;
    std::cout << number << std::endl;
}

编译为:

g++ test.cpp

在全新的Ubuntu 18.04 64位计算机输出上:

0

在我期望的时候:

1099511627776

适合64位无符号整数

有什么主意吗?

0 个答案:

没有答案