длинный использует 8 байт и float также использовать 8 байт. Но float может представлять все значения long и имеет более широкий диапазон, чем long. Итак, зачем нам длинным типа?Зачем нам нужен длинный тип?
ответ
Рассмотрите тот факт, что long и float, как вы указали, имеют длину 8 байтов. Это означает, что они могут представлять одинаковое количество значений, а именно, 2^64 различных значений.
Как вы сказали, float может представлять гораздо более широкий диапазон значений, чем длинный. Поэтому следует, что float не может представлять каждые значение в этом диапазоне. Числа с плавающей запятой - это приближение.
Например, long может быть способен представлять 100, 101 и 102, в то время как float может представлять только 100 и 102. Это просто примеры, но концепция имеет значение true - float не может представлять, в точности, каждый значение вдоль его диапазона.
Два типа данных «интерпретируются» по-разному. Биты «00110101» переводят на одно число, если оно длинное, и совершенно другое число, если оно является плавающей точкой.
Вы можете прочитать полную информацию о долгот и всплывают в спецификации языка Java:
Типы Integer: http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1
плавающих типов: http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.3
Большое вам спасибо. – happyWinner
Но 101 равно 1.100101 * (2^6) в двоичном формате. Я полагаю, что 101 может быть представлен float? – happyWinner
У меня возникла твоя идея. Например, если часть frac с плавающей запятой была 4 бит, тогда float не мог представлять 1000001. Правильно ли это? – happyWinner
- 1. Зачем нам нужен org.junit.ComparisonFailure?
- 2. Зачем нам нужен Control.Lens.Reified?
- 3. Зачем нам нужен contexClassLoader
- 4. Зачем нам нужен mktemp?
- 5. Зачем нам нужен strdup()?
- 6. Зачем нам нужен cmake?
- 7. Зачем нам нужен кеш?
- 8. Зачем нам нужен enabled_shared_from_this
- 9. Зачем нам нужен конструктор?
- 10. Зачем нам нужен @GeneratedValue?
- 11. Зачем нам нужен частный конструктор?
- 12. Зачем нам нужен обратный адрес?
- 13. Зачем нам нужен сервер Fuseki?
- 14. Зачем нам нужен новый оператор?
- 15. Зачем нам нужен оператор «delete []»?
- 16. Зачем нам нужен сгенерированный код?
- 17. Зачем нам нужен полукруглый разъем?
- 18. Зачем нам нужен двумерный массив?
- 19. Зачем нам нужен TensorFlow tf.Graph?
- 20. Зачем нам нужен request.getSession (true)?
- 21. Зачем нам нужен IIS Express?
- 22. Зачем нам нужен компилятор C++?
- 23. Зачем нам нужен частный конструктор?
- 24. Зачем нам нужен io_service в boost?
- 25. Зачем нам нужен другой тип данных для указателя?
- 26. Зачем нам нужен оператор космического корабля?
- 27. Зачем нам нужен force.on ('tick' .. in d3
- 28. Зачем нам нужен karma-test-shim.js
- 29. Зачем нам нужен scalaz.stream над итерацией?
- 30. Зачем нам нужен SocketOptions.SO_BROADCAST для включения трансляции?
Это вопрос точности. –
Float не может точно указать все значения long. – Blorgbeard
Зачем голосовать -1 за мой пост - -! – happyWinner