gpt4 book ai didi

c - 如何在 C 中显示 unsigned long long 的最大值?

转载 作者:太空狗 更新时间:2023-10-29 16:31:25 24 4
gpt4 key购买 nike

我在这里做错了什么?

$ cat size.c
#include<stdio.h>
#include<math.h>

int main() {

printf ("sizeof unsigned int = %d bytes.\n", sizeof(unsigned int));
printf ("sizeof unsigned long long = %d bytes.\n", sizeof(unsigned long long));

printf ("max unsigned int = %d\n", (int)(pow(2, 32) - 1));
printf ("max unsigned long long = %lld\n", (unsigned long long)(pow(2, 64) - 1));

}
$ gcc size.c -o size
$ ./size
sizeof unsigned int = 4 bytes.
sizeof unsigned long long = 8 bytes.
max unsigned int = 2147483647
max unsigned long long = -1
$

我期待 18446744073709551615 作为输出,而不是最后一行的 -1


好吧,我完全错过了 232 - 1 的错误值,它应该是 4294967295,而不是 2147483647。现在事情变得更有意义了。

最佳答案

只是不要假设它有一定的值(value)使用 ULLONG_MAX

关于c - 如何在 C 中显示 unsigned long long 的最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3897727/

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