Kaksi termiä tyyppivalu ja tyypin muunnos käytetään ohjelmassa muuntamaan tietotyyppi toiseksi tietotyypiksi. Tietotyyppien muuntaminen on mahdollista vain kääntäjän toimesta, kun ne ovat yhteensopivia keskenään. Keskustellaan erosta tyyppivalun ja tyyppimuunnoksen välillä millä tahansa ohjelmointikielellä.
Mikä on tyyppivalu?
Kun ohjelmoija tai käyttäjä muuntaa tietotyypin toiseksi tietotyypiksi kirjoittaessaan minkä tahansa ohjelmointikielen ohjelmakoodia, mekanismi tunnetaan nimellä tyyppivalu . Ohjelmoija käyttää sitä manuaalisesti muuntaakseen yhden tietotyypin toiseksi. Sitä käytetään, jos haluamme vaihtaa kohdetietotyypin toiseen tietotyyppiin. Muista, että kohdetietotyypin on oltava pienempi kuin lähdetietotyyppi. Tästä syystä sitä kutsutaan myös supistuvaksi muunnokseksi.
Syntaksi:
Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator
Target_datatype: Se on tietotyyppi, jolla haluamme muuntaa kohdetietotyypin. Muuttuja määrittelee arvon, joka muunnetaan kohde_data-tyypissä. Ymmärretään tyyppivalun käsite esimerkin avulla.
Oletetaan, että haluamme muuntaa kellua tietotyyppi sisään int tietotyyppi. Tässä kohdetietotyyppi on pienempi kuin lähdetiedot, koska koko int on 2 tavua ja koko kellua tietotyyppi on 4 tavua. Ja kun muutamme sitä, float-muuttujan arvo katkaistaan ja muunnetaan kokonaislukumuuttujaksi. Casting voidaan tehdä yhteensopivalla ja ei-yhteensopivalla tietotyypillä.
float b = 3.0; int a = (int) b; // converting a float value into integer
Ymmärretään tyyppivalu C-ohjelman kautta.
AreaOfRectangle.c
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); float x = 3.5, y = 4.5; // the size of float variable is 4 byte. int area; // the size of the int variable is 2 bytes. area = (int) x * y; // after conversion the product converts into integer printf(' Area of a Rectangle is : %d', area); printf(' Here, we convert float data type into the Int data type'); getch(); }
Lähtö:
Mikä on tyyppimuunnos?
Jos tietotyyppi muunnetaan automaattisesti toiseksi tietotyypiksi käännöshetkellä, sitä kutsutaan tyyppimuunnokseksi. Kääntäjä suorittaa muunnoksen, jos molemmat tietotyypit ovat yhteensopivia keskenään. Muista, että kohdetietotyyppi ei saa olla pienempi kuin lähdetyyppi. Se tunnetaan myös nimellä laajeneminen tietotyypin muunnos.
Ymmärretään tyyppimuunnos esimerkin avulla.
Oletetaan, että meillä on int tietotyyppi ja haluat muuntaa sen a kellua tietotyyppi. Nämä ovat keskenään yhteensopivia tietotyyppejä, koska niiden tyypit ovat numeerisia ja int:n koko on 2 tavua, mikä on pienempi kuin float-tietotyyppi. Näin ollen kääntäjä muuntaa tietotyypit automaattisesti menettämättä tai katkaisematta arvoja.
int a = 20; Float b; b = a; // Now the value of variable b is 20.000 /* It defines the conversion of int data type to float data type without losing the information. */
Yllä olevassa esimerkissä int-tietotyyppi muunnetaan floatiksi, jonka koko on suurempi kuin int, ja siten se laajentaa lähdetietotyyppiä.
Ymmärretään tyyppimuunnos C-ohjelman kautta.
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); int x = 3, y = 4; // the size of int variable is 2 byte. float area; // the size of float variable is 4 bytes. area = x * y; /* It is a type conversion that automatically converted by the compiler at the compile time of a program. */ printf(' Area of a Rectangle is : %f', area); printf(' Here, we convert int data type to the float data type'); getch(); }
Lähtö:
Ero tyypin Castingin ja Type Conversion välillä
S.N. | Tyyppi Casting | Tyyppi muunnos |
---|---|---|
1 | Tyyppivalu on mekanismi, jossa ohjelmoija muuntaa yhden tietotyypin toiseksi tietotyypiksi Casting () -operaattorilla. | Tyyppimuunnoksen avulla kääntäjä voi muuntaa yhden tietotyypin toiseksi tietotyypiksi ohjelman tai koodin käännöshetkellä. |
2 | Sitä voidaan käyttää sekä yhteensopivaa tietotyyppiä että yhteensopimatonta tietotyyppiä. | Tyyppimuunnosa käytetään vain yhteensopivien tietotyyppien kanssa, joten se ei vaadi valuoperaattoria. |
3 | Se vaatii ohjelmoijan lähettämään tiedot manuaalisesti toiseen tyyppiin. | Tietotyypin muuntaminen toiseksi ei vaadi ohjelmoijan toimia, koska kääntäjä kääntää sen automaattisesti ohjelman ajon aikana. |
4 | Ohjelmoija käyttää sitä suunniteltaessa ohjelmaa. | Sitä käytetään tai se tapahtuu ohjelman käännösaikana. |
5 | Kun suoratoistat yhtä tietotyyppiä toiseen, kohdetietotyypin on oltava pienempi kuin lähdetieto. | Muunnettaessa yhtä tietotyyppiä toiseksi kohdetyypin tulee olla suurempi kuin lähdetietotyyppi. |
6 | Sitä kutsutaan myös kaventavaksi muunnokseksi, koska yksi suurempi tietotyyppi muuntaa pienemmäksi tietotyypiksi. | Sitä kutsutaan myös laajentavaksi muunnokseksi, koska yksi pienempi tietotyyppi muuntaa suuremmaksi tietotyypiksi. |
7 | Se on luotettavampi ja tehokkaampi. | Se on vähemmän tehokas ja vähemmän luotettava. |
8 | On mahdollista, että tiedot tai tiedot menetetään tyyppivalauksessa. | Tyyppimuunnoksessa tiedot eivät todennäköisesti häviä, kun muunnetaan pienestä tietotyypistä suureksi. |
8 | float b = 3.0; int a = (int) b | int x = 5, y = 2, c; float q = 12.5, p; p = q/x; |