Rekomenduojama, 2024

Redaktoriaus Pasirinkimas

Skirtumas tarp plūdės ir dvigubo

„Float“ ir „Double“ abu yra duomenų tipai pagal „Floating-point“ tipą. Kintamojo taško numeriai yra tikrieji skaičiai, turintys dalinį komponentą. Pagrindinis skirtumas tarp plūdės ir dvigubo yra tas, kad plūdės tipas turi 32 bitų saugyklą. Kita vertus, dvigubas tipas turi 64 bitų saugyklą. Yra ir kitų skirtumų tarp plūdės ir dvigubo, kurie aptariami toliau pateiktoje palyginimo lentelėje.

Palyginimo diagrama:

Palyginimo pagrindasPlūdėDvivietis
TikslumasVienkartinis tikslumas.Dvigubas tikslumas.
Bitai32 bitai.64 bitai.
Bitai4 baitai.8 baitai.
Apytikslis diapazonas1.4e-045 - 3.4e + 0384.9e-324 iki 1.8e + 308
Bitų reprezentacija1 bitas žymi ženklo bitą.
8 bitai yra eksponentas.
23 bitai yra mantissa.
1 bitas žymi ženklo bitą.
11 bitų yra eksponentas.
52 bitai yra mantissa.
TikslumasMažiau tiksli.Tikslesnis.

Plūdės apibrėžimas

Duomenų tipo plūduras yra vienas iš kintamų taškų tipų. Duomenų tipo plūdė turi 32 bitų saugyklą (kuri yra lygi 4 baitams) kintamojo plūdės tipo atžvilgiu. Duomenų tipo float nurodo vieną tikslumą. 32 bitų atvaizdavimas plūde gali būti paaiškintas kaip 1 bitas kaip ženklo bitas, 8 bitai yra eksponentai, o 23 bitai yra pateikiami kaip mantissa. Maksimalus plūdės tipo diapazonas yra 1, 4e-045 - 3, 4e + 038. Lyginant su dvigubo kintamo taško tipo plūdės tipu, matematinis skaičiavimas yra ne toks tikslus. Suprasime plūdę naudodami pavyzdį.

 #include #include int main () {float num1 = sqrt (64.23) cout << num1; } // išėjimas 8.00060 

Kaip ir pirmiau pateiktame kode, galite pastebėti, kad plūdės kintamasis skaičius 1 yra priskiriamas reikšmei, kuri yra funkcija sqrt (), kuri grąžina šiai funkcijai perduodamos vertės kvadratinę šaknį. Galite pastebėti, kad, kai spausdinama num1 reikšmė, ji yra artima tiksliai nustatytai vertei, tačiau ji nėra tiksli. Dabar pamatysime žemiau pateiktą pavyzdį, kai ta pati programa vykdoma naudojant dvigubą kaip duomenų tipą.

Dvigubo apibrėžimas

Dvigubas yra antrojo tipo kintamojo taško duomenų tipas. Dvigubo duomenų tipo dvigubo tipo duomenų bazė yra 64 bitų (tai yra 8 baitai). Jis nurodo dvigubą tikslumą, nes jo dydis yra dvigubai didesnis už plūdę. Dvigubo 64 bitų reprezentacija gali būti paaiškinta, nes 1 bitas žymi ženklo bitą, 11 bitų - eksponentą, o likę 52 bitai - mantissa. Tarp plaukiojančių ir dvigubų dažniausiai naudojamų duomenų tipų yra dvigubas. Tipas dvigubas naudojamas matematinio skaičiavimo metu, o kai reikalingas tobulas tikslumas. Matematinės funkcijos sin (), cos () ir sqrt () visada duoda dvigubą vertę. Suprasime duomenų tipo tikslumą dvigubai su pavyzdžiu.

 #include #include int main () {double num1 = sqrt (64.23) cout << num1; } // išėjimas 8.0143621 

Galite pastebėti, kad pavyzdyje gautas rezultatas, paaiškinantis plūdę, skiriasi nuo pavyzdyje gauto rezultato, paaiškindamas dvigubą. Taigi, iš to galima pasakyti, kad dvigubai gauti rezultatai yra tikslesni, palyginti su plūduriu.

Pagrindiniai skirtumai tarp plūdės ir dvigubo

  1. „Datatype float“ nurodo vieną tikslumą, o tai reiškia, kad, lyginant su dvigubu, jis turi mažiau tikslumo, o dvigubas nurodo dvigubą tikslumą, nes jis yra tik dvigubai didesnis už plūdę.
  2. Plūdės tipo kintamasis turi 32 bitų, o dvigubo tipo kintamasis turi 64 bitų saugyklą, kuri kaupia, kad dvigubai didesnė, palyginti su plūdėmis.
  3. Plūdės reikšmė gali būti nuo 1, 4e-045 iki 3, 4e + 038, o tipo dvigubo vertė gali svyruoti nuo 4.9e-324 iki 1.8e + 308.
  4. Plūdės vertės bitų reprezentacija yra panaši į tai, kad 1 bitui plūdės yra naudojamas dainuoti, 8 bitai eksponentui ir 23 bitai mantelės saugojimui. Kita vertus, dviguba vertė yra panaši į tai, kad 1 bitai yra naudojami dainuoti, 11 bitų eksponentui ir 52 bitai mantelės saugojimui.
  5. Palyginus su dvigubu plūdės sluoksniu, yra mažiau tikslios, o matematinis skaičiavimas yra dvigubas.

Išvada:

Na, jūs paprastai turite naudoti dvigubai, nes tai suteikia tikslumą, kuris dažniausiai yra pagrindinis mūsų moto.

Top