我知道u后缀的意思是‘无符号’。但是在下面的代码中是否有必要呢?
uint32_t hash = 2166136261u;是一件事还是一种惯例?或者它在这个案件中有什么技术意义?由于uint32_t是无符号的,因此应该将该值转换为无符号。
什么时候应该,什么时候不对无符号整数值使用u后缀?
发布于 2019-04-12 16:30:31
不没有必要。在2147483648上,事情变得有趣了,你的人数比这更多了。
注意,在形式上,如果2166136261有32位或更少,则long或long long类型。但两者都可以以一种定义明确的方式转换为uint32_t。
最后一点:如果0x811C9DC5有32位或更多位,则等效的十六进制unsigned是int类型。哦joy!
参考资料:constant
https://stackoverflow.com/questions/55655985
复制相似问题