На Яві, Яві.
Існує два типи типів даних з плаваючою комою:
- Тип даних float
- тип даних double
І float, і double представляють числа з плаваючою комою, які зберігають десяткові значення.
Тип даних з плаваючою комою | Цінності | Розмір (біт)* | Вимоги до пам'яті (байти) | Значення за замовчуванням | Точність | Десяткові цифри | Діапазон | Точність |
---|---|---|---|---|---|---|---|---|
плавати | IEEE 754 із плаваючою комою | 32 | 4 | 0,0f | неодружений | 6 десяткових цифр | 3.4e-038 до 3.4e+038 | Низький |
подвійний | IEEE 754 із плаваючою комою | 64 | 8 | 0,0д | Двомісний | 15 десяткових цифр | 1.7e-308 до 1.7e+308 | Високий |
*Біти розміру включають наступне:
біти | плавати | подвійний |
---|---|---|
Знак | 1 | 1 |
Експонента | 8 | одинадцять |
Мантиса | 23 | 52 |
Одинарна точність: Він складається з один знаковий біт (S), вісім біти експоненти (E) і двадцять три біти мантиси (М).
Подвійна точність: Він складається з один знаковий біт (S), одинадцять біти експоненти (E) і п'ятьдесят-два біти мантиси (М).
Тип даних float
Це 32-розрядне число з плаваючою комою одинарної точності IEEE 754 (стандарт для арифметики з плаваючою комою). Це означає, що він дає точність 6-7 десяткових цифр. Він використовується, якщо ми хочемо ефективно використовувати пам’ять, оскільки він займає менше пам’яті порівняно з подвійним типом даних. Щоб визначити значення з плаваючою точкою, ми повинні використовувати суфікс f або F. Його значення за замовчуванням 0,0f. За замовчуванням числа з плаваючою точкою в Java розглядаються як подвійні.
Наприклад, якщо ми визначаємо число з плаваючою точкою як:
частково похідний латекс
float height = 167.7
Наведене вище оголошення змінної float дає помилку компіляції. Ми можемо виправити помилку, додавши суфікс f або F.
float height = 167.7f or float height = 167.7F
тип даних double
Тип даних double — це 64-розрядне число з плаваючою комою IEEE 754 подвійної точності. Це означає, що він дає точність 15-16 десяткових цифр. Він споживає більше пам’яті порівняно з типом даних float. Він використовується для зберігання десяткових значень. Його значення за замовчуванням 0.0d. Необов’язково додавати суфікс d або D. Наприклад:
double price = 987.90D or double price = 987.90d or double price = 987.90
Тип даних float проти double
Тип даних double точніший, ніж тип даних float. У наведеній нижче таблиці підсумовано відмінності між типами даних float і double.
Основа | Тип даних float | подвійний тип даних |
---|---|---|
Пам'ять | Це займає 4 байтів. | Це займає 8 байтів. |
Точність | Його точність низький . | Його точність висока . |
Точність | Це слідує одинарної точності (6-7 десяткових цифр). | Це слідує подвійна точність (15-16 десяткових цифр). |
Використане ключове слово | The плавати Ключове слово використовується для визначення числа з плаваючою точкою. | The подвійний Ключове слово використовується для визначення числа подвійної точності. |
Клас обгортки | Його клас оболонки java.lang.Float. | Його клас оболонки java.lang.Double. |
Тип даних за замовчуванням | Java не використовує його як стандартне число з плаваючою комою. | Це за замовчуванням тип даних для чисел з плаваючою комою. |
Втрата даних | Буде без втрати даних якщо ми перетворимо float на double. | Буде втрата даних якщо ми перетворимо double на float. |
Використання | Його слід використовувати де менша точність вимагається, а зберігання є обмеженням. | Використовується де більше точності необхідний, а також вимагає більшої точності. |
Суфікс | Це використовує Ф або f як суфікс. Додавання суфікса є обов’язковим, якщо ви оголошуєте змінну float. | Це використовує d або Д як суфікс. Додавати суфікс необов’язково, якщо ви оголошуєте подвійну змінну. |
Представництво | 28.96f або 28,96F | 12.5 або 12.5D або 12.5d |
Подібності між типом даних float і double
- Дійсні числа можуть бути представлені обома типами даних.
- Обидва типи даних float і double не є точними, отже, вони є приблизними значеннями.
Який тип даних з плаваючою комою в Java ми повинні використовувати?
double є більш точним, ніж float. Отже, якщо потрібен більш точний і точний результат, використовуйте подвійний. Ще одна причина використовувати подвійне число полягає в тому, що якщо число не вписується в діапазон, запропонований плаваючою точкою, використовуйте подвійне. Нам слід використовувати float, якщо у нас є обмеження пам’яті, оскільки воно займає половину простору, ніж подвійний.
Ми рекомендуємо вам використовувати double over float, якщо немає обмежень на пам’ять і простір і коли потрібна більша точність. Бажано використовувати значення з плаваючою точкою, якщо пам’ять викликає занепокоєння, а результат у 16 десяткових цифр точності не потрібен.
рядок до символу
Наступні два Java програми чітко показують різницю між типом даних float і double.
FloatDataTypeExample.java
public class FloatDataTypeExample { public static void main(String args[]) { float x = 1.0f, y = 3.0f; //defining x and y as float float z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } }
Вихід:
x/y = 0.33333334
DoubleDataTypeExample.java
public class DoubleDataTypeExample { public static void main(String args[]) { double x = 1.0, y = 3.0; //defining x and y as double double z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } }
Вихід:
x/y = 0.3333333333333333
З наведених вище двох прикладів зрозуміло, що тип даних double займає більше пам’яті для зберігання числа подвійної точності, а також дає точніший результат до 16 десяткових цифр. Тоді як тип даних float займає менше місця для зберігання чисел одинарної точності, і він дає результати до 6 знаків після коми.