Java double - это номер двоичного кода IEEE 754.
Это означает, что нам нужно рассмотреть:
Это в основном означает, что существует всего 2 ^ 62-2 ^ 52 + 1 возможных двойных представлений, которые в соответствии со стандартом находятся между 0 и 1. Заметим, что 2 ^ 52 + 1 - это удаление случаев ненормированных чисел.
Помните, что если мантисса положительна, а показатель отрицательного числа положителен, но меньше 1: -)
Для других чисел это немного сложнее, Целочисленные числа краев могут не отображаться точным образом в представлении IEEE 754 и потому, что есть другие биты, используемые в экспоненте, чтобы они могли представлять числа, поэтому чем больше число, тем ниже различные значения.