..


Sponzorované odkazy

Java numerickej propagáciu

Článok napísal Damiano Verde
Strana 1 z 2

Čo je to numerická propagácia? Toto je veľmi bežná operácia v programe a zodpovedá implicitné prevod operandy (napríklad pridali), spojené s numerickou operátora (napr. "+" znamená, že vedľa).

Táto konverzia je nutná vždy, keď operandy nezodpovedajú presne ten typ dát, ktorá sa očakáva na operáciu. V niektorých prípadoch musia byť explicitné konverziu (napríklad použitím cast ) a je teda na programátora.

V ostatných prípadoch, najmä u pokročilejších programovacích jazykov a distribuovaný (ďalej budeme odkazovať predovšetkým k jazyku Java), je premena vykonáva automaticky, tak implicitne. V tomto prípade je možné hovoriť o číselných propagácie.

Môžeme rozlíšiť dva hlavné druhy číselných propagácie: unární číselné propagácia a binárne číselnú propagácie, ktorá sa podstatne líši v povahe aritmetický zúčastňuje operácie (unární alebo binárne). Pozrime sa na oba prvky, pričom dbajte na to tiež niekoľko stručných príkladov kódu Java.

Unární číselné propagáciu

Pozrime sa na príklad:






 byte b = 2;







 int [] = new int [b];

           





 Znak c = '\ u0001';







 na [c] = 1;

                       





 [0] = c;

  

V tomto prípade, aj keď veľmi jednoduchý, môžeme identifikovať tri príklady unární číselné propagácie. Prvým z nich je vzdelávanie, int [] = new int [b]. Veľkosť "skutočnosti pole by mali byť zastúpené celé číslo (int premenná), zatiaľ čo B je premennú typu byte.

Potom, Zamyslime sa na vzdelávanie [C] =- 1. V tomto prípade je odovzdaný ako index "pole, opäť, nie je parameter typu integer, ale (v tomto prípade), charakter typu. Rovnako tak ďalší príkaz [0] =- c 0 určuje pozíciu "pole na hodnotu typu int a nie charakter.

Pozorujeme prvý, ktorý je spojený s konverziou do "operátor priradenia ("="), teda unární operátor, ktorý je spojený len jeden operand. Tu je dôvod, prečo môžeme hovoriť o unární číselné propagácie. Ako kompilátor spracováva prevody implicitne spojená s kroky?

Vo všetkých troch prípadoch môže byť prevod sú rozložené do dvoch základných krokov. Prvý z nich je typ prevodu rozbalenie, tj dáta (v tomto prípade typu Byte alebo znakov) je prevedený na zodpovedajúci primitívne dátový typ (char byte, v tomto poradí).

Na tomto mieste sme pristúpiť k druhej fáze premeny vo všetkých troch prípadoch do úvahy, je rozšírenie primitívne konverziu. Stručne povedané, nedochádza k strate informácií a naozaj, nový dátový typ zvoliť (int) je v porovnaní s overabundant ukladania informácií (obsiahnuté v premennej B, alebo C typu Byte, typ znakov). Z tohto dôvodu si prekladač môže vykonať prevod sami.

Kladieme dôraz na to ako jediné skutočné prevody, ktoré môžu byť vykonané implicitne v rámci numerickej propagácie sú uvedené. K dispozícii je v skutočnosti tiež možnosť identity typu konverzie, ale udržuje dátový typ premennej sa jedná, a preto je záujem hlavne teoretické.

V rovnakej kategórii ...
E-Learning
Linux (kurz) Linux (kurz)
Kompletný sprievodca pre open-source systému. Od 49 €.
PHP (kurz) PHP (kurz)
Celý kurz pre vytváranie dynamických webov. Od 49 €.
Ruby a Ruby on Rails (kurz) Ruby a Ruby on Rails (kurz)
Vytvoriť softvér a webových aplikácií s Ruby a ROR. Od 39 €.
Sponzorované odkazy