Programmeerimisel on vaja andmeid säilitada. Andmed salvestatakse mällu. Andmeid salvestavaid mäluasendeid nimetatakse muutujateks. Iga mälukoht võib salvestada kindlat tüüpi andmeid. Iga andmetüübi mälumaht on erinev. Programmeerimiskeeltes, näiteks Python, ei pea programmeerija muutuja tüüpi deklareerima. Programmeerimiskeeltes nagu Java peaks programmeerija deklareerima muutuja tüübi. Andmetüüpe on mitmeid, näiteks char, int, float ja double. Char-andmetüüpi kasutatakse ühe märgi väärtuse salvestamiseks. Int-andmetüüpi kasutatakse arvväärtuste ilma komakohtade salvestamiseks. Ujuk- ja topeltandmetüüpe kasutatakse arvväärtuste komakohtade salvestamiseks. Selles artiklis käsitletakse erinevust ujuki ja topelt vahel. võtme erinevus ujuki ja topelt vahel on see float on ühe täpsusega 32-bitine IEEE 754 ujukoma andmetüüp ja double on kahekordse täpsusega 64-bitine IEEE 754 ujukoma andmetüüp.
1. Ülevaade ja peamised erinevused
2. Mis on ujuk
3. Mis on kahekordne
4. Sarnasused hõljuva ja kahekordse vahel
5. Võrdlus kõrvuti - tabeli vormis hõljumine ja topelt
6. Kokkuvõte
Ujuk on ühe täpsusega 32-bitine ujukoma. See on eelnevalt määratletud andmetüüp, mida toetavad programmeerimiskeeled, näiteks Java. Ujuva muutuja deklareerimiseks kasutatakse märksõna 'ujuk'. Seega ei saa seda kasutada identifikaatorite nimede jaoks, näiteks meetodinimed ja muutujate nimed. Vaadake allolevat programmi.
Joonis 01: Java-programm koos ujuvatüübiga
Ülaltoodud programmi kohaselt on arv muutuja, mis võib salvestada ujukoma numbri. Siin kasutatakse -20,5f asemel -20,5f. -20,5 on kahekordne täht. Kompilaatori märkimiseks väärtuse ujukina salvestamiseks peaks programmeerija kirjutama f või F.
Topelt on kahekordse täpsusega 64-bitine ujukoma. See on eelnevalt määratletud andmetüüp. Topeltmuutuja deklareerimiseks kasutatakse märksõna 'double'. Seetõttu ei saa seda kasutada identifikaatorite nimede jaoks, näiteks meetodinimed ja muutujate nimed. Vaadake allolevat programmi.
Joonis 02: Topelt andmetüübiga Java programm
Ülaltoodud programmi kohaselt on arv muutuja tüüpi topelt. Numbri printimine annab väljundi väärtuseks -20,5. Väärtuse salvestamiseks kulub mälus 64 bitti. Kui programmeerijale on kirjutatud -20,5, loetakse see kahekordseks. Ta võib seda ka kirjutada kui -20,5d. D-tähe kirjutamine on valikuline.
Tüübi ülekandmist saab teostada andmetüüpidel. See on ühe andmetüübi teisendamine teiseks andmetüübiks. Kui määrate väiksema andmetüübi suuremale andmetüübile, pole ülekandmine vajalik. Laiendamine toimub baitides, lühikeses, keskmises, pikas, hõljuvas, kahes järjekorras. Suurema andmetüübi määramisel väikesele andmetüübile on vaja teha ülekandmine.
Joonis 03: casting
Ülaltoodud programmi kohaselt on num1 ja num2 ujuktüübid. Summeerimine omistatakse muutuvsummale. See on ujuk. Kuna ujuk on kahekordsega võrreldes väiksem andmetüüp, saab selle vahetult kahekordsele muutuja numbrile omistada ilma tüübivalimist.
X ja y võivad salvestada topelt andmetüüpe. Summeerimine omistatakse muutujale z. Samuti saab seda topelt salvestada. Tüübi ülekandmine on vajalik suurema andmetüübi määramiseks väiksemale andmetüübile. Seetõttu on topeltväärtuse salvestamiseks hõljukmuutujasse vaja teha tüüpi ülekandmine, kuna topelt on suurem andmetüüp kui ujuk.
ujuk vs topelt | |
Ujuk on ühe täpsusega 32-bitine IEEE 754 ujukoma andmetüüp. | Topelt on kahekordse täpsusega 64-bitine IEEE 754 ujukoma andmetüüp. |
Baitide arv | |
Ujuk on 4 baiti pikk. | Topelt on 8 baiti pikk. |
Vaikeväärtused | |
Ujuki vaikeväärtus on 0,0f. | Kahekordne vaikeväärtus on 0,0d. |
Märksõna | |
Ujuva väärtuse deklareerimiseks kasutatakse märksõna "ujuk". | Topeltväärtuse deklareerimiseks kasutatakse märksõna "double". |
Vajalik mälu | |
Ujuk nõuab vähem mälu kui kahekordne. | Topelt nõuab rohkem mälu kui hõljumine. |
Programmeerimisel on vaja andmeid säilitada. Need andmed salvestatakse mälupesadesse ja neid nimetatakse muutujateks. Iga muutuja salvestab konkreetset tüüpi andmeid. Seal on andmetüüpe nagu int, char, double ja float jne. Selles artiklis käsitleti erinevust kahe andmetüübi vahel, mis on float- ja double-tüüpi. Erinevus ujuki ja topeltarvu vahel on see, et ujuk on andmetüüp, mis on ühe täpsusega 32-bitine IEEE 754 ujukoma, samas kui topelt on andmetüüp, mis on topelttäpsus 64-bitine IEEE 754 ujukoma.
1. Java muutujad ja (primitiivsed) andmetüübid. Saadaval siin
2.Punkt, juhendid. “Java põhilised andmetüübid”., Juhendid, 8. jaanuar 2018. Saadaval siin