Kotlin中浮点型和双精度型的最小值和最大值

Kotlin中浮点型和双精度型的最小值和最大值,kotlin,Kotlin,很容易找出Integer和Longinteger的确切最小值和最大值是多少,单位为Kotlin: 有符号32位整数: Int.MIN_VALUE // -2147483648 Int.MAX_VALUE // 2147483647 有符号64位整数: Long.MIN_VALUE // -9223372036854775808 Long.MAX_VALUE // 9223372036854775807 但是如果我尝试打印Float或Double

很容易找出
Int
eger和
Long
integer的确切最小值和最大值是多少,单位为Kotlin:

有符号32位整数:

Int.MIN_VALUE       // -2147483648
Int.MAX_VALUE       //  2147483647
有符号64位整数:

Long.MIN_VALUE      // -9223372036854775808
Long.MAX_VALUE      //  9223372036854775807
但是如果我尝试打印
Float
Double
类型的
min
max
值的范围,我会得到不平衡的数字

有符号32位浮点数:

Float.MIN_VALUE     //  1.4E-45
Float.MAX_VALUE     //  3.4028235E38
Double.MIN_VALUE    //  4.9E-324
Double.MAX_VALUE    //  1.7976931348623157E308
有符号64位浮点数:

Float.MIN_VALUE     //  1.4E-45
Float.MAX_VALUE     //  3.4028235E38
Double.MIN_VALUE    //  4.9E-324
Double.MAX_VALUE    //  1.7976931348623157E308

为什么
Float
Double
类型中的正负值如此不同?

对于整数和浮点数,
minu值的概念定义是不同的

  • Int.MIN_值
    是最大的负值
  • Float.MIN_值
    是最小的正值

换句话说,
1.4E-45
0.00[40零]0014
,不是一个很大的负数。最大可能的负值由
-1*Float.MAX\u value

表示,这只是为了补充讨论,因为我犯了一个错误,以为
Float.MIN\u value
Double.MIN\u value
Int.MIN\u value
相关,因为它们都应该表示该数据类型的最负值


对于
Float
Double
而言,除了
MIN\u VALUE
MAX\u VALUE
之外,
NEGATIVE\u INFINITY
POSITIVE\u INFINITY
还有其他属性,从技术上讲,它们可能是最大的负值和正值。我试图找到一个数字来表示一个尚未使用的var的值<代码>最小值
对我无效,因为我处理的是正数和负数。

最大正浮点值和最大负浮点值是相同的(符号位除外)
Float.MIN_值
Float.MAX_值
非常不同,因为它们是最接近0的数字,也是最远离0的数字。代码格式?