最小的无符号整数,可以包含给定有符号积分的正值

smallest unsigned int that can contain the positive values of a given signed integral?

本文关键字:符号 包含 无符号整数      更新时间:2023-10-16

可以在编译时确定可以包含给定有符号整数类型的正值的最小无符号整数吗?

因此,最小的无符号整型,其大小足以容纳给定有符号整型的最大值。

一个好的起点是 2 是基数,我们需要考虑基于 2 的对数。一般规则:

  1. 如果无符号整数有 sizeof n 个字节,则最大的正数是 (2^(8 * n)) - 1

  2. 如果有符号整数有 sizeof n 个字节,则最大的正数是 (2^(8 * n - 1)) - 1

因此,您需要确定给定类型的变量sizeof,并查看它是否有符号。