登录
首页 >  Golang >  Go问答

Go 的 MaxUint64 是否有等效的 java 常量

来源:stackoverflow

时间:2024-04-15 23:39:34 473浏览 收藏

本篇文章给大家分享《Go 的 MaxUint64 是否有等效的 java 常量》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

go 有常量 maxuint32,用于无符号整数,但是 java 有等效的常量吗?因为我注意到 maxuint32 是 4294967295,而 integer.max_value 是它的 2 倍。

java 的等价物是什么

r := float64(stringHash(source)) / (float64(math.MaxUint32) + 1)

java中的float和go中的float64有什么区别?


正确答案


根据 Stack Overflow 上的 this QuestionMaxUint32 是 Go 类型系统中可用的最大 32 位数字的常量,范围从 0 到 4,294,967,295。

对于 Java,我可以解释一下,Java 只有带符号的数字类型。如 commented by tgdavies,这意味着 Java 中最大的有符号 32 位整数是 Go 中无符号 32 位整数 2,147,483,647 的一半。作为与 Go 兼容的解决方法,只需使用 Java 中的 64 位 long 来容纳来自 Go 的值。

近年来,地址号码中添加了一种功能,就像未签名一样。但我认为只有在特殊情况下才应该使用它。请参阅 Declaring an unsigned int in Java,尤其是 this Answer

我可以引用 The Java Tutorials 中的内容,该内容由 Oracle 公司免费提供,在此处发布有关基本 Java 问题的文章之前,您应该阅读该内容:

最后一个 char 是遗留的,通常应该避免使用 code point 整数。

当您需要对象时,所有这些基本类型都有包装类。

对于超大整数,请使用 BigInteger 类。

对于超大/小分数,请使用 BigDecimal。当您需要 accuracy 而不是执行速度时,也可以使用 BigDecimal。用例包括零碎的金钱问题。

好了,本文到此结束,带大家了解了《Go 的 MaxUint64 是否有等效的 java 常量》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>