gpt4 book ai didi

c - 您是否必须将 `u` 后缀附加到无符号整数?

转载 作者:太空狗 更新时间:2023-10-29 17:12:11 26 4
gpt4 key购买 nike

我知道 u 后缀表示“无符号”。但是在下面的代码中有必要吗?

uint32_t hash = 2166136261u;

这是一个问题还是约定?或者在这种情况下它有什么技术意义吗?无论如何,该值都应转换为无符号,因为 uint32_t 是无符号的。

我什么时候应该以及什么时候不应该对无符号整数值使用 u 后缀?

最佳答案

不,没有必要。 2147483648 的事情变得有趣了,你的号码比这个大。

请注意,如果 int 有 32 位或更少,则 2166136261 是一个 longlong long 类型.但两者都可以以明确定义的方式转换为 uint32_t

最后一点:如果 int 有 32 位或更多位,则等效的十六进制 0x811C9DC5unsigned 类型。哦快乐!

引用:https://en.cppreference.com/w/c/language/integer_constant

关于c - 您是否必须将 `u` 后缀附加到无符号整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55655985/

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