gpt4 book ai didi

c - 意外的无符号整数行为

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:08 24 4
gpt4 key购买 nike

我在以下代码中遇到了这个意外的输出,在这些代码中,当所有位都设置为 1 时,我正在验证 short 和 int 类型的无符号形式的最大值(以十进制形式表示)。

#include <stdio.h>

int main()
{
unsigned int n1 = 0xFFFFFFFF;
unsigned short n2 = 0xFFFF;

printf("\nMax int = %+d", n1);
printf("\nMax short = %+d", n2);

return 0;
}

我得到的输出是(使用 Visual Studio 2017 C/C++ 编译器编译):

Max int = -1
Max short = +65535

按照 unsigned short 的思路,我期望 unsigned int 的最大值为 +4294967295。为什么不是这样?

最佳答案

您需要使用 %u 作为 unsigned 类型的格式说明符。

关于c - 意外的无符号整数行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44653895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com