intmax_t 可以保存 size_t 的最大十进制数吗? printf 中哪种尺寸类型具有最大优先级 uintmax_t/intmax_t 或 size_t(例如,如果我写 printf("%zjd", x))?
最佳答案
很可能不会
两者都是特定于实现的,因此实际上不可能回答。
size_t
(通常)是一个无符号整数,它包含适合给定 CPU 上的寄存器的最大可能位数。虽然这在现实中并不能完全保证,但我仍然没有找到这不是真的例子。
intmax_t
是一个带符号的整数,这意味着它可能具有存储 size_t
可以容纳的任何值所需的位,但大值并不意味着相同; size_t
可以容纳的最大值,在解释为 intmax_t
时可能会是负整数。
关于intmax_t 可以容纳 size_t 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47695905/