..
Što je numerička promociju? To je vrlo čest rad u programu i odgovara implicitne konverzije operanada (na primjer, pribrojnik), povezane s numeričkom operatora (npr. "+" označava da je dodatak).
Ova pretvorba je potrebno kad god operanda ne odgovaraju točno vrstu podataka koji se očekuje za rad. U nekim slučajevima, pretvorbe mora biti eksplicitno (npr. korištenje cast ), te je stoga odgovornost programer.
U drugim slučajevima, osobito u slučaju više naprednih programskih jezika i distribuira (u daljnjem tekstu ćemo se odnose posebice na Java jeziku), pretvorba se obavlja automatski, tako implicitno. U tom slučaju moguće je govoriti o numeričke promociju.
Možemo razlikovati dvije osnovne vrste numeričkih promocije: unarni numeričke promociju i binarni brojčani promociju, koje se razlikuju značajno u prirodi aritmetike su uključeni u rad (unarni ili binarno). Pogledajmo kako niti, pazeći da se dati neke kratke primjere Java koda.
Pogledajmo primjer:
byte b = 2;
int [] = new int [b];
Znak c = '\ u0001';
na [C] = 1;
[0] = c;
U tom slučaju, iako vrlo jednostavna, možemo identificirati tri primjera predznak numeričke promociju. Prvi je odgoj int [] = new int [b]. Veličina "činjenicu bi trebao biti polje predstavlja cijeli broj (int varijabla), a B je varijabla tipa byte.
Nakon toga, neka nam razmišljati o obrazovanju [C] =- 1. U ovom slučaju to je prošlo kao indeks "polja, opet, nije parametar tipa integer, ali (u ovom slučaju) tipa karaktera. Isto tako, sljedeće izjave [0] =- c 0 daje položaj "polja na vrijednost tipa int, a ne karakter.
Mi promatramo prvi koji je povezan s obraćenje "zadatkom operatora ("="), stoga unarni operator koji je povezan sa samo jednim operanda. Evo zašto možemo govoriti o predznak numeričke promociju. Kako prevodilac ručke pretvorbi implicitno povezane s koracima?
U sva tri slučaja, pretvorba se može rastaviti u dvije osnovne korake. Prvi je Unboxing pretvorbe tipa, tj. podataka (u ovom slučaju tipa Byte ili znakova) se pretvara u odgovarajući primitivni tip podataka (char byte, respektivno).
U ovom trenutku možemo prijeći na drugu fazu pretvorbe u sva tri slučaja razmatra se širi primitivni pretvorbe. Ukratko, nema gubitka podataka i doista, nova vrsta podataka koje ste izabrali (int) je prekobrojan u odnosu na pohranu informacije (sadržane u varijabli b, ili c tipa Byte, vrsta znakova). Iz tog razloga prevodilac može obaviti pretvorbu sebe.
Mi smo to istaknuti kao jedini pravi pretvorbe koje se mogu obavljati implicitno u kontekstu numeričke promocije su navedene. Tu je zapravo i mogućnost identiteta vrste pretvorbe, ali održava vrstu podataka varijable u pitanje i da je stoga od interesa uglavnom teoretski.
| |
Linux (tečaj)
Kompletan vodič za open-source sustava. Od 49 €. |
| |
PHP (tečaj)
Cijeli tečaj za izradu dinamičkih Web stranica. Od 49 €. |
| |
Ruby i Ruby na šina (tečaj)
Napravite softver i web aplikacija uz Ruby i ROR. Od 39 €. |