..


Sponsoroidut linkit

Java numeerinen edistäminen

Artikkelin kirjoittanut Damiano Verda
Sivu 1 2

Mikä on numeerinen edistäminen? Tämä on hyvin yleinen operaatio ohjelma ja vastaa implisiittinen muuntamista operandien (esim. addend) liittyy numeerinen operaattorin (esim. "+" tarkoittaa, että lisäksi).

Tämä muuntaminen on tarpeen silloin operandit eivät vastaa täsmälleen tietojen tyyppi odotetaan toimintaa. Joissakin tapauksissa muuntaminen on selkeä (esim. käyttämällä valettu ) ja on siksi vastuussa ohjelmoija.

Muissa tapauksissa, erityisesti kun kyseessä on kehittyneitä ohjelmointikieliä ja jaetaan (jäljempänä tulemme viitataan erityisesti Java), muuntaminen tapahtuu automaattisesti, siis epäsuorasti. Tällöin on mahdollista puhua numeerinen edistäminen.

Voimme erottaa kaksi päätyyppiä numeerinen edistäminen: unaari numeerinen edistäminen ja binary numeerinen edistäminen, jotka eroavat huomattavasti luonne aritmeettinen mukana toiminnassa (unaarinen tai binääri). Katsotaanpa molempia aloja, huolehtien myös muutamia lyhyitä esimerkkejä Java-koodia.

Unaari numeerinen edistäminen

Katsotaanpa esimerkki:






 tavu b = 2;







 int [] = new int [b];

           





 Luonne C = '\ u0001';







 ja [C] = 1;

                       





 [0] = c;

  

Tässä tapauksessa kuitenkin hyvin yksinkertainen, voidaan erottaa kolme esimerkkiä unaari numeerinen edistäminen. Ensimmäinen on koulutus int [] = new int [b]. Koko "siitä array pitäisi edustaa kokonaisluku (int muuttuja), kun taas b on muuttuja tyyppiä tavu.

Jälkeenpäin Miettikäämme koulutus [C] =- 1. Tässä tapauksessa se ​​välitetään indeksi 'ryhmät, jälleen kerran, ei parametrin tyypin kokonaisluku, mutta (tässä tapauksessa) tyyppi merkin. Samoin seuraava lausuma [0] =- c 0 antaa asemaa "matriisi arvon tyyppiä int eikä luonnetta.

Huomaamme ensin, että se liittyy muuntaminen "Sijoitusoperaattori ("="), siis unaari operaattori, joka liittyy vain yksi operandi. Tässä on, miksi emme voi puhua unaari numeerinen edistäminen. Miten kääntäjä käsittelee muunnokset epäsuorasti liittyvät vaiheet?

Kaikissa kolmessa tapauksessa, muuntaminen voi hajota kahteen alkeis vaiheet. Ensimmäinen on Muunnostyyppi unboxing eli data (tässä tapauksessa tyyppiä Byte tai merkki) on muunnettava vastaavaksi primitiivinen tietotyyppi (char tavu, vastaavasti).

Tässä vaiheessa siirrymme toiseen vaiheeseen muuntaminen kaikissa kolmessa tapauksessa harkitaan levenee primitiivinen muuntaminen. Lyhyesti sanottuna, ei informaation menetystä ja todellakin, uusi tietotyyppi valitset (INT) on overabundant verrattuna tallentaa tiedot (sisältyvät muuttujaan B tai C-tyypin Byte, merkkityyppi). Tästä syystä kääntäjä voi suorittaa muuntaminen itse.

Korostamme sitä ainoa todellinen muunnokset voidaan suorittaa epäsuorasti yhteydessä numeeristen edistäminen ovat mainitut. On nimittäin myös mahdollista Tyyppimuunnos identiteettiä, mutta ylläpitää tietotyyppi muuttujan kyseessä ja siksi kiinnostaa lähinnä teoreettinen.

Samassa luokassa ...
E-Learning
Linux (kurssi) Linux (kurssi)
Täydellinen opas avoimen lähdekoodin järjestelmä. Alkaen 49 €.
PHP (kurssi) PHP (kurssi)
Täysi tietenkin luoda dynaamisia Web-sivustoja. Alkaen 49 €.
Ruby ja Ruby on Rails (kurssi) Ruby ja Ruby on Rails (kurssi)
Luo ohjelmistojen ja web-sovellusten kanssa Ruby ja RoR. Alkaen 39 €.
Sponsoroidut linkit