Ajánlott, 2024

Szerkesztő Választása

Különbség az úszó és a kettős között

A Float és a Double kettő az Float-point típusú adatok típusai. A lebegőpontos számok azok a valós számok, amelyekben frakcionált összetevő van. Az elsődleges különbség az úszó és a kettős között az, hogy az úszó típusa 32 bites tárolóval rendelkezik. Másrészről a kettős típus 64 bites tárolóval rendelkezik. Vannak más különbségek az úszó és a kettős között, amelyeket az alábbi táblázat mutat be.

Összehasonlító táblázat:

Az összehasonlítás alapjaÚszóKettős
PontosságEgyetlen pontosság.Dupla pontosság.
bit32 bit.64 bit.
bytes4 bájt .8 bájt.
Hozzávetőleges tartomány1, 4e-045 - 3, 4e + 0384, 9e-324 - 1, 8e + 308
Bits reprezentációAz 1 bites jelbit.
8 bit képviseli az exponentet.
23 bit képviseli a mantissát.
Az 1 bites jelbit.
11 bit képviseli az exponentet.
52 bit képviseli a mantissát.
PontosságKevésbé pontos.Pontosabb.

A Float meghatározása

Az adatcsatorna úszó egyike a lebegőpontos típusoknak. Az adattípus úszó 32 bites tárolóval rendelkezik (ami 4 bájt), az úszó típusú változó számára. Az adattípus úszó meghatározza az egyetlen pontosságot. A 32 bites lebegés ábrázolása magyarázható az 1 bites ábrán, 8 bit pedig exponensként, 23 bit pedig mantissaként van ábrázolva. Az úszó típus maximális tartománya 1, 4e-045 - 3, 4e + 038. A kettős lebegőpontos típushoz képest a matematikai számításnál a lebegő típus kevésbé pontos. Megértjük az úszót egy példával.

 #include #include int main () {float num1 = sqrt (64.23) cout << szám1; } // kimenet 8.00060 

A fenti kódhoz hasonlóan megfigyelhetjük, hogy a num1 változó változónak van egy értéke, amely az sqrt () függvénynek felel meg, amely a függvényhez továbbított érték négyzetgyökét adja vissza. Megfigyelhetjük, hogy ha a num1 értékét kinyomtatja, akkor közel van a pontos értékhez, de nem pontos. Most lássuk az alábbi példát, amikor ugyanazt a programot hajtjuk végre kettős dátummal, mint adattípus.

A kettős meghatározása

A kettős a lebegőpontos adattípus második típusa. A dupla adattípus kettős típusú 64 bites tárolóval rendelkezik (ami 8 bájt), kettős típusú változó számára. Dupla pontosságot határoz meg, mivel mérete csak kétszerese az úszónak. A kettős típus 64 bites ábrázolása magyarázható az 1 bites jelbit, 11 bit egy exponens, a maradék 52 bit pedig a mantissa. Az úszó és a kettős leggyakrabban használt adattípus kettős. A kettős típus a matematikai számítás során kerül felhasználásra, és ha szükség van tökéletes pontosságra. A sin (), cos () és sqrt () matematikai függvények mindig kétszeres értéket adnak vissza. Megértjük az adattípus pontosságát egy példával.

 #include #include int main () {double num1 = sqrt (64.23) cout << szám1; } // kimenet 8.0143621 

Megfigyelhetjük, hogy a példában nyert kimenet, amely az úszót magyarázza, különbözik a példában kapott kimenetétől, magyarázva a kettős. Ebből tehát azt mondhatjuk, hogy a kettősből származó eredmények pontosabbak az úszóhoz képest.

Főbb különbségek az úszó és a kettős között

  1. Az adattípus úszó meghatározza az egyetlen pontosságot, ami azt jelenti, hogy a kettőshez képest kevesebb pontossággal rendelkezik, míg a kettős pontosság kettős pontosságot ad meg, mivel csak kétszerese a lebegőnek.
  2. A lebegő típusú változó 32 bites tárolóval rendelkezik, míg a kettős típus változó 64 bites tárolóval rendelkezik, amely összegyűjti, hogy a kettős nagyobb a tárolásban, mint az úszó.
  3. A lebegő érték 1, 4e-045 és 3, 4e + 038 között változhat, míg a dupla típus értéke 4, 9e-324 és 1, 8e + 308 között lehet.
  4. A lebegő érték bitformázása hasonlít arra, hogy 1 bit úszót használnak az énekbit, a 8 bites exponens és 23 bit bit tárolására. Másrészt, egy kettős érték hasonlít arra, hogy 1 bitet használnak az ének bithez, a 11 bitet az exponenshez és 52 bitjét a mantissa tárolásához.
  5. A kettős úszással összehasonlítva kevésbé pontos, míg a matematikai számítás kettős.

Következtetés:

Nos, általában kettősnek kell lennie, mivel ez biztosítja a pontosságot, amely a legtöbb alkalommal a fő moto.

Top