..
Kas yra skaitmeninis skatinimas? Tai labai dažna operacija programą ir atitinka numanomas konversijos operandų (pvz., Dodajnik), susijusios su skaitinę operatoriaus (pvz., "+" rodo, kad to).
Šį perskaičiavimą yra būtina, kai operandai nesutampa tiksliai duomenų, kad tikimasi operacijos tipą. Kai kuriais atvejais, perskaičiavimo turi būti aiškus (pvz., naudojant dauguma ) ir todėl programuotojas atsakomybė.
Kitais atvejais, ypač sudėtingesnių programavimo kalbų atveju ir platinami (toliau mes kreipsis ypač "Java" kalba), konversijos vyksta automatiškai, taigi netiesiogiai. Šiuo atveju galima kalbėti skaitinių skatinimas.
Mes galime išskirti dviejų pagrindinių tipų skaitmeniniai skatinimas: Smūginės skaitinė skatinimo ir dvejetainis skaitinė skatinimo, kurie gerokai skiriasi atsižvelgiant į aritmetinį dalyvauja operacijoje (Smūginės arba dvejetainis) pobūdžio. Pažvelkime abiem sritims, rūpintis taip pat pateikti kai trumpas pavyzdžių Java kodą.
Pažiūrėkime, pavyzdžiui:
byte b = 2;
int [] = new int [b];
Simbolių c = '\ u0001';
su [c] = 1;
[0] = c;
Šiuo atveju, nors ir labai paprasta, mes galime išskirti tris pavyzdžius Smūginės skaitinė skatinimas. Pirmasis švietimo int [] = new int [b]. Apie "tai, masyvo dydis turėtų būti atstovaujamos sveikasis skaičius (int kintamasis), o B tipo baitų kintamąjį.
Po to, leiskite mums pagalvoti apie švietimo [c] =- 1. Tokiu atveju ji perduodama kaip "masyvų, dar kartą, o ne tipo sveikasis parametras, bet (šiuo atveju) rūšies pobūdį indeksas. Be to, kitą pareiškimą [0] =- c 0 pateikiamas "masyvo poziciją tipo int, o ne simbolių reikšmę.
Stebime, pirma, kad jis yra susijęs su perskaičiavimo į "priskyrimo operatorius ("="), todėl Smūginės operatorius, kuris yra susijęs tik su vienu operandų. Štai kodėl mes galime kalbėti apie Smūginės skaitinė skatinimas. Kaip sudarytojas rankenos konversijos netiesiogiai susijusios su žingsniai?
Visais trim atvejais, konversija gali būti išskaidytas į dvi elementarios veiksmus. Pirmasis yra konversijos tipo Unboxing, ty duomenis (šiame tipo Baitų arba simbolio atveju) yra konvertuotas į atitinkamą primityvios duomenų tipo (char baitų atitinkamai).
Šiuo metu mes pereiti prie antrojo etapo konversijos visais trimis atvejais tai vienas išplėsti primityvios konversiją. Trumpai tariant, nėra jokių informacijos nuostolių ir iš tiesų, naują duomenų tipą pasirinkti (INT) yra Pernelyg palyginti informacijai saugoti (yra kintamojo B arba C tipo Baitų, charakterio tipo). Dėl šios priežasties kompiliatorius gali atlikti konvertavimo sau.
Mes pabrėžia, kaip vienintelis tikras konversijas, kurios gali būti atliekamos netiesiogiai skaitinių skatinimo kontekste, kurie nepaminėti. Iš tiesų pat tipo konvertavimo tapatybę, tačiau palaiko duomenų tipo atitinkamų kintamasis, todėl palūkanų daugiausia teorinė.
| |
"Linux" (kurso)
Užbaigti vadovą, kad atviro kodo sistema. Nuo 49 €. |
| |
PHP (kurso)
Visas kursas sukurti dinaminius interneto svetainių. Nuo 49 €. |
| |
Ruby ir Ruby on Rails (kurso)
Sukurti programinę įrangą ir interneto programų su Ruby ir RoR. Nuo 39 €. |