加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 朋友之间的Int.MaxValue是什么?

发布时间:2020-12-16 18:44:31 所属栏目:安全 来源:网络整理
导读:Scala中int,float和long的最大值为: Int.MaxValue = 2147483647 Float.MaxValue = 3.4028235E38 Long.MaxValue = 9223372036854775807L 来自Scala编译器的作者,Keynote,PNW Scala 2013,幻灯片16朋友之间的Int.MaxValue是什么?: val x1: Float = Long.MaxV
Scala中int,float和long的最大值为:

Int.MaxValue = 2147483647

Float.MaxValue = 3.4028235E38

Long.MaxValue = 9223372036854775807L

来自Scala编译器的作者,Keynote,PNW Scala 2013,幻灯片16朋友之间的Int.MaxValue是什么?:

val x1: Float = Long.MaxValue
val x2: Float = Long.MaxValue - Int.MaxValue
println (x1 == x2)

// NO WONDER NOTHING WORKS

为什么这个表达式返回true?

解决方法

Float是一个4字节的浮点值.同时,Long是8字节值,Int也是4字节值.但是,数字以4字节浮点值存储的方式意味着它们只有大约8位精度.因此,无论最少4个有效字节(另外9-10个数字)的值如何,它们都不具有存储长度的4个最高有效字节(大约9-10个数字)的能力.

因此,两个表达式的Float表示是相同的,因为不同的位低于Float的分辨率.因此,这两个值相等.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读