可以在编译时确定可以包含给定有符号整数类型的正值的最小unsigned int吗?
所以最小的无符号整数类型足以容纳给定有符号整数类型的最大值。
答案 0 :(得分:0)
一个好的起点是2是基数,我们需要考虑基于2的对数。一般规则:
如果无符号整数的字节数为sizeof
n,则最大正数为(2 ^(8 * n)) - 1
如果有符号整数的字节数为sizeof
,则最大正数为(2 ^(8 * n - 1)) - 1
因此,您需要确定给定类型的sizeof
变量并查看它是否有符号。