Минимальное и максимальное значения типов Float и Double в Котлине - PullRequest
1 голос
/ 26 мая 2019

Просто узнать, какие точные минимальные и максимальные значения для 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

64-разрядное число с плавающей запятой со знаком:

Double.MIN_VALUE    //  4.9E-324
Double.MAX_VALUE    //  1.7976931348623157E308

Почему положительные и отрицательные значения в типах Float и Double такотличается?

1 Ответ

4 голосов
/ 26 мая 2019

Концептуальное определение MIN_VALUE отличается для целых чисел от чисел с плавающей запятой.

  • Int.MIN_VALUE является наибольшим отрицательным значением.
  • Float.MIN_VALUE является наименьшимположительное значение.

Другими словами, 1.4E-45 - это 0.00[40 zeroes]0014, а не - очень большое отрицательное число.Наибольшее возможное отрицательное значение представлено -1 * Float.MAX_VALUE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...