【发布时间】:2019-11-13 21:19:10
【问题描述】:
有没有办法在不使用limits.h 的情况下计算unsigned int 可表示的最大值
(所以没有UINT_MAX)或不使用
unsigned int z = 0;
z = z - 1;
【问题讨论】:
-
不清楚你想要什么。
static_cast<unsigned int>(-1)给出了一个编译时常量。还有什么比这更好的呢?.. -
解释起来很复杂,因为对我来说这是最好的方法,但我的老师不接受它......我知道该怎么做......他说:算法是根据你不接受的假设制定的'不知道变量......我知道这意味着什么
-
你的意思是无符号整数可以存储的最大数吗?
-
~0u物超所值。 -
@Jason,我不了解 C,但在 C++ 中它是完美定义的。无符号类型已经是 2 的补码,有符号的类型在 C++20 中将是 2 的补码。
标签: c