Erinevus ujuki ja kahekordse vahel

Peamine erinevus - ujuk vs kahekordne
 

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.

SISU

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

Mis on ujuk?

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.

Mis on kahekordne?

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.

Millised on sarnasused hõljumise ja topelt vahel?

  • Nii ujuk kui ka topelt on eelnevalt määratletud andmetüübid, mida toetavad programmeerimiskeeled, näiteks Java.
  • Nii ujuk- kui ka topelttüüpi ei kasutata selliste täpsuste jaoks nagu valuuta.

Mis vahe on ujukil ja topelt?

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.

Kokkuvõte - ujuk vs kahekordne

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.

Viide:

1. Java muutujad ja (primitiivsed) andmetüübid. Saadaval siin
2.Punkt, juhendid. “Java põhilised andmetüübid”., Juhendid, 8. jaanuar 2018. Saadaval siin