Jaký je rozdíl mezi datovými typy short int a long int a float dvojitým datovým typem?


Nejlepší odpověď

Rozdíl černobíle krátký a dlouhý int

Rozdíl je velmi malý, ale v některých případech může být velmi důležitý. Při programování je druhým nejdůležitějším cílem (po provedení programu to, co má) úspora paměti, aby program běžel co nejrychleji. Toto je místo, kde přichází vaše klíčové slovo „long“. Long je celé číslo, ale celé číslo není přesně dlouhé, čemu rozumět? Existuje také „krátké“. Nyní se na ně obvykle odkazuje int, ale není to nutné. rozdíl mezi nimi je jejich velikost. V závislosti na počítači, ale ve většině případů „short“ jsou dva bajty, „long“ jsou čtyři bajty a „int“ mohou být dva nebo čtyři bajty. V programech, které deklarujete, je důležité krátké nebo dlouhé, pokud přesně víte, jak velké číslo bude a jak často se bude upravovat, abyste ušetřili co nejvíce paměti. Nyní až k rozsahu, který závisí na velikosti int, zda je dva nebo čtyři bajty. Zde je tabulka k odkazování na velikosti a hodnoty.

rozsah velikostí typů

krátký int 2 bajty -32 768 až 32 767

dlouhý int 4 bajty -2 147 483 648 až 2 147 483 647

int (16 bitů) 2 bajty -32 768 až 32 767

int (32 bitů) 4 bajty -2 147 , 483 648 až 2 147 483 647

Rozdíl B / w Float and Double

Čísla s pohyblivou řádovou čárkou, známá také jako skutečná čísla, se používají při hodnocení výrazů, které vyžadují zlomkovou přesnost. Například výpočty, jako je druhá odmocnina, nebo transcendentální, jako je sinus a kosinus, vedou k hodnotě, jejíž přesnost vyžaduje typ s plovoucí desetinnou čárkou. Java implementuje standardní sadu (IEEE – 754) typů a operátorů s plovoucí desetinnou čárkou. Existují dva druhy typů s plovoucí desetinnou čárkou, float a double, které představují čísla s jednoduchou a dvojitou přesností. Jejich šířka a rozsahy jsou zobrazeny zde:

Šířka názvu v rozsahu bitů

dvojnásobek 64 1 .7e – 308 až 1,7e + 308

float 32 3 .4e – 038 až 3,4e + 038

Každý z těchto typy plovoucí desetinné čárky se prozkoumají dále.

float

Typ float určuje hodnotu s jednou přesností, která využívá 32 bitů úložiště. Jedna přesnost je u některých procesorů rychlejší a zabírá poloviční prostor než dvojnásobná přesnost, ale stane se nepřesná, pokud jsou hodnoty buď velmi velké, nebo velmi malé. Proměnné typu float jsou užitečné, když potřebujete zlomkovou komponentu, ale nevyžadují velkou míru přesnosti. Například float může být užitečný, když reprezentuje dolary a centy.

Zde je několik příkladů float proměnné prohlášení:

float hightemp, lowtemp;

double

Dvojitá přesnost, jak ji označuje klíčové slovo double, používá k uložení hodnoty 64 bitů. Dvojitá přesnost je ve skutečnosti rychlejší než jednoduchá přesnost u některých moderních procesorů, které byly optimalizovány pro vysokorychlostní matematiku výpočty. Všechny transcendentální matematické funkce, jako jsou sin (), cos () a sqrt (), vracejí dvojnásobné hodnoty. Pokud potřebujete zachovat přesnost mnoha iterativních výpočtů nebo manipulujete s velkými čísly, nejlepší volbou je dvojitá .

Zde je krátký program, který k výpočtu oblasti kruhu používá dvojité proměnné:

// Vypočítat th e oblast kruhu.

Oblast třídy {

public static void main (String args []) {

double pi, r, a;

r = 10,8; // poloměr kruhu

pi = 3.1416; // pi, přibližně

a = pi * r * r; // výpočetní oblast

System.out.println („Plocha kruhu je“ + a);

}

}

Odpověď

Jako obvykle záleží . Přesné velikosti krátkých a dlouhých kalhot jsou ponechány implementátorovi kompilátoru, který vybere reprezentace, které nejlépe vyhovují cílové architektuře. Je možné (ale nepravděpodobné), že sizeof(short) == sizeof(int) == sizeof(long), což znamená, že jsou všechny stejné. Jedinou zárukou, kterou máte, je, že velikost krátkého je menší nebo rovna velikosti dlouhého. Přesné velikosti naleznete v záhlaví ; nebo k ošklivým detailům použijte šablonu std::numeric\_limits z .

Podobné úvahy platí i pro float a dvojnásobek, ale zde je pravděpodobnější, že float bude představovat číslo s plovoucí desetinnou čárkou s přesnou přesností (4 bajty) a double bude číslo s plovoucí desetinnou čárkou s dvojitou přesností (8 bajtů).Bylo napsáno příliš mnoho softwaru, který předpokládá IEEE 754, , takže autoři překladačů se méně pravděpodobně odchylují od pravidel.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *