【发布时间】:2018-08-26 04:36:49
【问题描述】:
我正在尝试执行以下操作。但是我不确定我可能会出错
uint64_t x = (1 << 46);
std::cout << x;
我明白了
-警告:左移计数>=类型[-Wshift-count-overflow]的宽度
我得到输出 0。我期待像这样的二进制十进制输出
1 0000........00 (46 0s)
我的问题是为什么我会收到此警告? uint64_t 不是 64 位吗?还有为什么我得到输出 0 ?
【问题讨论】:
标签: c++