..


Sponzorované odkazy

Java numerické propagaci

Článek napsal Damian Verda
Strana 1 z 2

Co je to číselná propagace? Toto je velmi běžná operace v programu a odpovídá implicitní převod operandy (např. přidali), spojené s numerickou operátora (např. "+" znamená, že vedle).

Tato konverze je nutná vždy, když operandy neodpovídají přesně ten typ dat, která se očekává na operaci. V některých případech musí být explicitní konverzi (například pomocí cast ) a je tedy na programátora.

V ostatních případech, zejména u pokročilejších programovacích jazyků a distribuován (dále budeme odkazovat zejména na jazyku Java), je přeměna provádí automaticky, tak implicitně. V tomto případě je možné hovořit o číselných propagace.

Můžeme rozlišit dva hlavní druhy číselných propagace: unární číselné propagace a binární číselnou propagace, která se podstatně liší v povaze aritmetický účastní operace (unární nebo binární). Podívejme se jak prvky, ujistěte se, dáte pár krátký příklad kódu Java.

Unární číselné propagaci

Podívejme se na příklad:






 byte b = 2;







 int [] = new int [b];

           





 Znak c = '\ u0001';







 na [c] = 1;

                       





 [0] = c;

  

V tomto případě, i když velmi jednoduchý, můžeme identifikovat tři příklady unární číselné propagace. Prvním z nich je vzdělávání, int [] = new int [b]. Velikost "skutečnosti pole by měly být zastoupeny celé číslo (int proměnné), zatímco B je proměnnou typu byte.

Později, Zamysleme se na vzdělávání [c] =- 1. V tomto případě je předán jako index "pole, opět, není parametr typu integer, ale (v tomto případě), charakter typu. Stejně tak další prohlášení [0] =- 0 je přidělena na pozici "pole na hodnotu typu charakteru a není typu int.

Pozorujeme první, který je spojen s konverzí"operátor přiřazení ("="), pak unární operátor, který je spojen s jedním operandem. Zde je důvod, proč můžeme hovořit o unární číselné propagace. Jak kompilátor zpracovává převody implicitně spojené s činností popsaných?

Ve všech třech případech může konverze jsou rozloženy do dvou základních kroků. Za prvé, je druh konverze provedena rozbalení, tj. data (v tomto případě bytu nebo znak), je převeden na odpovídající primitivní datový typ (byte a znak, v tomto pořadí).

V tomto bodě jsme se přistoupit k druhé fázi přeměny: Ve všech třech případech v úvahu, je rozšíření primitivní konverzi. Stručně řečeno, nedochází ke ztrátě informací a opravdu, nová data zvoleného typu (int) je overabundant s ohledem na informace, které mají být uloženy (obsažené v proměnné B, nebo C typ Byte, Typ znaků). Z tohoto důvodu, že kompilátor dokáže konverzi sami.

Klademe důraz na to jako jediné skutečné převody, které mohou být provedeny implicitně v rámci numerické propagace jsou uvedeny. K dispozici je ve skutečnosti také možnost identity typu konverze, ale udržuje datový typ proměnné v otázce, a proto je zájem především teoretická.

Ve stejné kategorii ...
E-Learning
Linux kurzu Linux kurzu
Kompletní průvodce pro open-source systém. Od 49 €.
PHP kurzu PHP kurzu
Celý kurz pro tvorbu dynamických webových stránek. Od 49 €.
Samozřejmě Ruby a Ruby on Rails Samozřejmě Ruby a Ruby on Rails
Tvorba software a webových aplikací s Ruby a RoR. Od 39 €.
Sponzorované odkazy