
Діаграма порівняння:
Основа для порівняння | Float | Двомісний номер |
---|---|---|
Точність | Одна точність. | Подвійна точність. |
Біти | 32 біта. | 64 біта. |
Байти | 4 байти. | 8 байт. |
Приблизний діапазон | 1.4e-045 до 3.4e + 038 | 4.9e-324 до 1.8e + 308 |
Представлення біт | 1 біт представляють біт запису. 8 біт представляють експонент. 23 біта являють собою мантису. | 1 біт представляють біт запису. 11 біт представляють експонент. 52 біта являють собою мантису. |
Точність | Менш точні. | Більш точні. |
Визначення Float
Тип даних float є одним з типів з плаваючою точкою. Float типу даних має 32-розрядне сховище (яке дорівнює 4 байтам) для змінної типу float. Тип даних float визначає одиничну точність. Представлення 32 біт у float можна пояснити, як 1 біт представляється як біт знаку, 8 бітів представляються як показник, а 23 біта представляються як мантиса. Максимальний діапазон типу float - 1.4e-045 до 3.4e + 038. При порівнянні з подвійним плаваючою точкою тип плаваючого типу менш точний при математичному розрахунку. Давайте зрозуміємо, плаваючи на прикладі.
#include #include int main () {float num1 = sqrt (64.23) cout << num1; } // вихід 8.00060
Як і в наведеному вище коді, можна помітити, що змінної float num1 присвоюється значення, яке є функцією sqrt (), яка повертає квадратний корінь із значення, яке передається цій функції. Можна спостерігати, що коли значення в num1 надруковано, воно близьке до точного значення, але це не точно. Давайте тепер побачимо приклад нижче, коли одна й та ж програма виконується з використанням подвійного типу даних.
Визначення подвійного
Двомісний тип даних з плаваючою комою. Тип даних double має 64-розрядне сховище (яке дорівнює 8 байтам) для змінної подвійного типу. Вона вказує подвійну точність, оскільки її розмір є лише подвоєним розміру. 64-бітове представлення типу double може бути пояснено, оскільки 1 біт представляє біт знаку, 11 біт представляє експоненту, а решта 52 біта представляють мантису. Серед float і double найбільш часто використовуваних типів даних подвійний. Тип подвійний використовується під час математичного розрахунку, а коли є необхідність досконалої точності. Математичні функції sin (), cos () і sqrt () завжди повертають подвійне значення. Давайте зрозуміємо точність подвійного типу даних з прикладом.
#include #include int main () {double num1 = sqrt (64.23) cout << num1; } // вихід 8.0143621
Можна спостерігати, що вихід, отриманий у прикладі, пояснюючи поплавок, відрізняється від виходу, отриманого в прикладі, пояснюючи подвійний. Отже, з цього можна сказати, що результати, отримані з подвійних, є більш точними порівняно з float.
Ключові відмінності між поплавцем і подвійним
- Тип даних float визначає одиничну точність, що означає, що в порівнянні з подвійним значенням вона має меншу точність, тоді як подвійна вказує подвійну точність, оскільки вона лише подвоює поплавок.
- Змінна типу float має зберігання 32 біт, тоді як змінна подвійного типу має зберігання 64 бітів, що компілює цей подвійний більший обсяг у порівнянні з float.
- Значення float може варіюватися від 1.4e-045 до 3.4e + 038, тоді як значення double може становити від 4.9e-324 до 1.8e + 308.
- Представлення бітів float-значення нагадує те, що 1 біт float використовується для біта співу, 8 біт для експонента і 23 біта для зберігання мантиси. З іншого боку, подвійне значення нагадує те, що 1 біт його використовується для біта співу, 11 біт для експонента і 52 біта його для зберігання мантиси.
- При порівнянні з подвійним поплавцем менш точні, отже, при цьому використовується математичний розрахунок.
Висновок:
Ну, ви повинні взагалі використовувати подвійний, оскільки він забезпечує точність, яка є нашим основним мотором більшість разів.