В таблице диапазонов значений переменных (Java) Double и Float соответствуют значения от 1.7e-308 до 1.7e+308 и от 3.4e-038 до 3.4e+038. При это у Integer диапазон начинается с отрицательного числа, то есть с -2.147... Хотелось бы узнать почему так, если и Double, и Float могут быть отрицательными.
Максимальное значение double
задается константой:
public static final double MAX_VALUE=1.7976931348623157E308;
и как говорит документация:
A constant holding the largest positive finite value of type double
В битах это выглядит так:
Как видно знаку отведен отдельный бит. Соответственно диапазон значений будет равен от -Double.MAX_VALUE
до +Double.MAX_VALUE
- как нетрудно заметить из битовой маски Double
- в таком формате невозможно представить точный 0
, а можно только Double.MIN_VALUE=4.9E-324
В противоположность ему целые числа в Java хранятся в т.н. дополнительном коде - он же Two's Complement, грубо говоря, отрицательные числа (в целом представлении) хранятся отдельно, а не через представление положительного целого числа и отдельно знака - примерно так:
Виртуальный выделенный сервер (VDS) становится отличным выбором
На сайте, насколько я понял, предлагают скачать сразу примеры и их разбирать
Существует проект Intellij Idea с двумя модулями, в каждом из которых есть файл "Mainjava"
У меня есть метод, который считает разницу между датой покупки и датой продажиМне нужно высчитать количество дней, которое прошло в этом...
Доброго времени сутокЕсть приложение(календарь) основано на CalendarView