Tipo konvertavimas yra tipo žymėjimo forma, kompiuterių moksle ir kompiuterių programinės įrangos programavime naudojama technika, kai konkretaus objekto duomenų tipas pakeičiamas į kitą duomenų tipą. Tipo žymėjimo koncepcija buvo sukurta apeiti nurodytą programavimo kalbos tipo sistemą, kad būtų galima pasiekti tam tikrų efektų, kuriuos kitu atveju būtų sunku padaryti pagal programavimo kalbos formalų apibrėžimą. Tipo konvertavimas, kuris yra labiausiai paplitusi šrifto žymėjimo forma, galima beveik visomis programavimo kalbomis, nors kai kurios kalbos siūlo papildomus šrifto žymėjimo metodus, tokius kaip sujungimas arba pakartotinis aiškinimas. Kai kuriuose programavimo stiliaus vadovuose siūloma vengti šrifto, nors ir taip dažnai naudojamas tipo konvertavimas.
Tipo konvertavimas taip pat kartais vadinamas tipo siuntimu arba prievarta, priklausomai nuo naudojamos programavimo kalbos. Kiekviena programavimo kalba turi taisykles, kaip sėkmingai naudoti tipo konvertavimą. Paprastai tariant, konvertavimas gali vykti tiek pagrindiniuose tipuose, tiek objektuose.
Yra keletas pagrindinių duomenų tipų arba duomenų tipų klasių. Vienas įprastas duomenų tipas, naudojamas atliekant matematines operacijas, yra sveikieji skaičiai arba paprasti skaičiai, kurie gali svyruoti iki tūkstančių arba milijonų, atsižvelgiant į bitų skaičių jų plotyje. Pavyzdžiui, 32 bitų sveikasis skaičius gali svyruoti nuo nulio iki 4,294,967,295 2,147,483,648 2,147,483,648 XNUMX arba nuo -XNUMX XNUMX XNUMX XNUMX iki XNUMX XNUMX XNUMX XNUMX. Kitas tipas yra slankiojo kablelio skaičius, kuris iš esmės yra bet koks skaičius su kableliu.
Pavieniai simboliai, pvz., abėcėlės raidė arba skyrybos ženklas, taip pat gali būti naudojami kaip duomenų tipas. Eilučių duomenų tipas yra bet kokia skaičių ir (arba) raidžių grupė arba seka be pertraukos; eilučių ilgiai yra savavališki, tačiau jų dydis arba riba paprastai yra apibrėžti programavimo kalba. Seniausias duomenų tipas yra Būlio vertė, kuri tiesiog yra teisinga arba klaidinga. Kitos tipų klasės apima algebrines, funkcijas, mašinos duomenis ir objektus. Pavyzdžiui, į objektus orientuotomis kalbomis objekto protėvis gali naudoti pirminio objekto tipą, kad jų sąveika vyktų sklandžiau.
Tipo konvertavimo ypatumai tikrai neįsivaizduojami, kol neatsižvelgiama į konkrečios programavimo kalbos taisykles. Kai kurios kalbos taisyklės taip pat nustato, ar tipo konvertavimas yra numanomas, ar aiškus. Netiesioginis tipo konvertavimas dažniausiai vadinamas prievarta ir paprastai vyksta tuo metu, kai programa sukompiliuojama iš šaltinio kodo į vykdomąją programą. Taip gali nutikti, tarkime, jei išraiškoje naudojami keli duomenų tipai ir tada vykdomas palyginimas. Tipo konvertavimas laikomas numanomu, o kompiliatorius jį apdoroja automatiškai; aiškus tipo konvertavimas yra apibrėžtas programos kode. C programavimo kalba daro skirtumą tarp šių dviejų, vadindama numanomą tipo konvertavimą prievarta, o aiškų tipo konvertavimą – išmetimu.
Paprastas įprasto tipo konvertavimo pavyzdys būtų matematinės operacijos su skaičiais kompiuterio programoje. Kompiuterio programai, gaunančiai dešimtainį skaičių, slankiojo kablelio duomenų tipą, kaip įvestį, gali reikėti konvertuoti skaičių į sveikųjų skaičių duomenų tipą, kad būtų galima atlikti matematines operacijas, arba atvirkščiai. Šis konvertavimas leidžia tęsti operaciją.