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ů rozpětí>
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.