Pagrindinis skirtumas – plūduriuojantis ir dvigubas
Programuojant reikia saugoti duomenis. Duomenys saugomi atmintyje. Atminties vietos, kuriose saugomi duomenys, vadinamos kintamaisiais. Kiekviena atminties vieta gali saugoti tam tikro tipo duomenis. Kiekvieno duomenų tipo atminties dydis skiriasi. Tokiose programavimo kalbose kaip Python programuotojui nereikia deklaruoti kintamojo tipo. Tokiose programavimo kalbose kaip Java programuotojas turėtų deklaruoti kintamojo tipą. Yra keletas duomenų tipų, tokių kaip char, int, float ir double. Duomenų tipas char naudojamas vieno simbolio reikšmei saugoti. Int duomenų tipas naudojamas skaitinėms reikšmėms be kablelio saugoti. Slankiųjų ir dvigubų duomenų tipai naudojami skaitinėms reikšmėms su kableliu saugoti. Šiame straipsnyje aptariamas skirtumas tarp plūduriuojančio ir dvigubo. Pagrindinis skirtumas tarp slankiojo ir dvigubo yra tas, kad slankiojo kablelio duomenų tipas yra vieno tikslumo 32 bitų IEEE 754 slankiojo kablelio duomenų tipas, o double yra dvigubo tikslumo 64 bitų IEEE 754 slankiojo kablelio duomenų tipas.
Kas yra plūduriuoti?
Slankioji funkcija yra vieno tikslumo 32 bitų slankusis kablelis. Tai iš anksto nustatytas duomenų tipas, palaikomas programavimo kalbų, tokių kaip Java. Norint deklaruoti plaukiojantį kintamąjį, naudojamas raktinis žodis „plūduriuoti“. Taigi jis negali būti naudojamas identifikatorių pavadinimams, pvz., metodų ir kintamųjų pavadinimams. Žiūrėkite toliau pateiktą programą.
01 pav.: Java programa su slankiojančiu duomenų tipu
Pagal pirmiau pateiktą programą skaičius yra kintamasis, galintis išsaugoti slankiojo kablelio skaičių. Čia vietoj -20,5 naudojamas -20.5f. -20,5 yra dvigubas pažodis. Norėdami nurodyti, kad kompiliatorius saugo vertę kaip plūduriuojančią reikšmę, programuotojas turėtų parašyti f arba F.
Kas yra dvigubas?
Dvigubas yra dvigubo tikslumo 64 bitų slankusis kablelis. Tai iš anksto nustatytas duomenų tipas. Norint deklaruoti dvigubą kintamąjį, naudojamas raktinis žodis „double“. Todėl jis negali būti naudojamas identifikatorių pavadinimams, pvz., metodų ir kintamųjų pavadinimams. Žiūrėkite toliau pateiktą programą.
02 pav.: Java programa su dvigubu duomenų tipu
Pagal aukščiau pateiktą programą skaičius yra dvigubo tipo kintamasis. Išspausdinus numerį, išvestis bus -20,5. Norint išsaugoti reikšmę, atmintyje reikia 64 bitų. Jei programuotojas parašyta -20,5, tai laikoma dviguba. Jis taip pat gali parašyti kaip -20,5d. Rašyti „d“nebūtina.
Tipų perdavimas gali būti atliekamas naudojant duomenų tipus. Tai vieno duomenų tipo konvertavimo į kitą duomenų tipą procesas. Priskiriant mažesnį duomenų tipą didesniam duomenų tipui, perduoti nereikia. Išplėtimas vyksta baitu, trumpas, tarpinis, ilgas, plūduriuojantis, dviguba tvarka. Priskiriant didesnį duomenų tipą mažam duomenų tipui, būtina atlikti liejimą.
03 paveikslas: perdavimas
Pagal aukščiau pateiktą programą, num1 ir num2 turi slankiųjų duomenų tipus. Sumavimas priskiriamas kintamajai sumai. Tai plūdė. Kadangi float yra mažesnis duomenų tipas, palyginti su double, jį galima tiesiogiai priskirti dvigubo kintamojo skaičiui be tipo perdavimo.
X ir y gali saugoti dviejų tipų duomenis. Sumavimas priskiriamas kintamajam z. Taip pat galima laikyti dvigubai. Norint priskirti didesnį duomenų tipą mažesniam duomenų tipui, reikalingas tipo perdavimas. Todėl norint išsaugoti dvigubą reikšmę kintamajame kintamajame, būtina atlikti tipo liejimą, nes double yra didesnis duomenų tipas nei float.
Kokie yra plūdinio ir dvigubo panašumai?
- Tiek plūduriuojantys, tiek dvigubi yra iš anksto nustatyti duomenų tipai, palaikomi programavimo kalbų, pvz., Java.
- Tiek plūduriuojančių, tiek dvigubų tipų nenaudojami tokiems tikslams kaip valiuta.
Koks skirtumas tarp plūduriuojančio ir dvigubo?
plūduriuoti prieš dvigubą |
|
Slankioji funkcija yra vieno tikslumo 32 bitų IEEE 754 slankiojo kablelio duomenų tipas. | Dvigubas yra dvigubo tikslumo 64 bitų IEEE 754 slankiojo kablelio duomenų tipas. |
Baitų skaičius | |
Slankioji funkcija yra 4 baitų ilgio. | Dvigubas yra 8 baitų ilgio. |
Numatytosios reikšmės | |
Numatytoji float reikšmė yra 0.0f. | Numatytoji dvigubo vertė yra 0.0d. |
Raktinis žodis | |
Raktinis žodis „plūduriuoti“naudojamas slankiajai vertei deklaruoti. | Raktinis žodis „double“naudojamas dvigubai vertei deklaruoti. |
Reikalinga atmintis | |
Plūdė reikalauja mažiau atminties nei dvigubai. | Dvigubai reikia daugiau atminties nei plūduriuoti. |
Santrauka – plūduriuojantis prieš dvigubą
Programuojant būtina saugoti duomenis. Tie duomenys saugomi atminties vietose ir vadinami kintamaisiais. Kiekvienas kintamasis saugo tam tikro tipo duomenis. Yra duomenų tipų, tokių kaip int, char, double ir float ir tt Šiame straipsnyje aptariamas skirtumas tarp dviejų duomenų tipų, kurie yra plūduriuojantis ir dvigubas. Skirtumas tarp slankiojo ir dvigubo yra tas, kad slankusis yra duomenų tipas, kuris yra vieno tikslumo 32 bitų IEEE 754 slankusis kablelis, o dvigubas yra duomenų tipas, kuris yra dvigubo tikslumo 64 bitų IEEE 754 slankusis kablelis.