Сравнителна таблица:
Основа за сравнение | поплавък | двойно |
---|---|---|
Прецизност | Една точност. | Двойна прецизност. |
Bits | 32 бита. | 64 бита. |
Bytes | 4 байта. | 8 байта. |
Приблизителен диапазон | 1.4e-045 до 3.4e + 038 | 4.9е-324 до 1.8е + 308 |
Представяне на бита | 1 бит представляват бит за знак. 8 бита представляват експонента. 23 бита представляват мантиса. | 1 бит представляват бит за знак. 11 бита представляват експонента. 52 бита представляват мантиса. |
точност | По-малко точна. | По-точно. |
Дефиниция на Float
Float тип данни е един от типовете с плаваща точка. Float типът данни съдържа 32-битово съхранение (което е равно на 4 байта) за променливата от тип float. Тип данни float определя единична точност. Представянето на 32 бита във флоат може да бъде обяснено като 1 бит е представен като знак бит, 8 бита са представени като експонентен, и 23 бита са представени като мантиса. Максималният обхват на плаващ тип е 1.4e-045 до 3.4e + 038. В сравнение с двойно плаващ тип плаващ тип е по-малко точен, докато математически изчисления. Нека разберем плувка като използваме пример.
#include #include int main () {float num1 = sqrt (64.23) cout << num1; } // изход 8.00060
Както в по-горния код, можете да забележите, че на флоат променлива num1 е присвоена стойност, която е от функцията sqrt (), която връща квадратен корен от стойността, която се предава на тази функция. Можете да забележите, че когато стойността в num1 е отпечатана, тя е близо до точната стойност, но не е точна. Нека сега да видим примера по-долу, когато една и съща програма се изпълнява като се използва двойно като тип данни.
Определение за двойно
Double е вторият вид данни с плаваща запетая. Двойният тип данни има 64-битово съхранение (което е равно на 8 байта) за променлива от двоен тип. Той определя двойната точност, тъй като размерът му е само два пъти по-голям от плаващия. 64-битовото представяне на тип double може да бъде обяснено като 1 бит представлява знак бит, 11 бита представлява експонентен, а останалите 52 бита представляват мантиса. Сред флоат и двойно най-често използвания тип данни е двойно. Типът 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.
- Представянето на битовете на плаващата стойност прилича на това, че 1 бит от float се използва за бит за пеене, 8 бита за експонентен и 23 бита за съхранение на мантиса. От друга страна, двойната стойност прилича на това, че 1 бит от него се използва за бит, 11 бита за експонента и 52 бита от него за съхранение на мантисата.
- Когато се сравнява с двойно плаване е по-малко точна, следователно, докато се използва математическото изчисление двойно.
Заключение:
Ами, обикновено трябва да използвате двойно, тъй като той осигурява точността, която е основната ни мотора през повечето време.