logo

Különbség a típusöntés és a típuskonverzió között

A két kifejezés típusú öntés és a típusátalakítás egy programban egy adattípus másik adattípussá alakítására használják. Az adattípusok átalakítása csak a fordító által lehetséges, ha azok kompatibilisek egymással. Beszéljük meg a típusöntés és a típuskonverzió közötti különbséget bármely programozási nyelvben.

Mi az a típusöntvény?

Amikor egy adattípust egy programozó vagy felhasználó egy másik adattípussá alakít át, miközben bármilyen programozási nyelv programkódját írja, a mechanizmus az úgynevezett típusú öntés . A programozó kézzel konvertálja az egyik adattípust egy másikra. Akkor használjuk, ha a céladattípust egy másik adattípusra szeretnénk módosítani. Ne feledje, hogy a cél adattípusnak kisebbnek kell lennie, mint a forrás adattípusának. Ezért szűkítő konverziónak is nevezik.

Különbség a típusöntés és a típuskonverzió között

Szintaxis:

 Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator 

Target_datatype: Ez az az adattípus, amelyben a cél adattípust konvertálni szeretnénk. A változó meghatároz egy értéket, amelyet a target_data típusba kell konvertálni. Értsük meg a típusöntés fogalmát egy példán keresztül.

Tegyük fel, hogy szeretnénk konvertálni a úszó adattípus be int adattípus. Itt a céladattípus kisebb, mint a forrásadat, mert a mérete int 2 bájt, és a mérete úszó az adattípus 4 bájt. És amikor megváltoztatjuk, a float változó értéke csonkolódik, és egész változóvá alakul. Az átküldés kompatibilis és nem kompatibilis adattípussal is elvégezhető.

 float b = 3.0; int a = (int) b; // converting a float value into integer 

Értsük meg a típusöntést egy C programon keresztül.

mi az a java verem

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(); } 

Kimenet:

Különbség a típusöntés és a típuskonverzió között

Mi az a típuskonverzió?

Ha egy adattípust a fordításkor automatikusan egy másik adattípusba konvertál, azt típuskonverziónak nevezzük. Az átalakítást akkor hajtja végre a fordító, ha mindkét adattípus kompatibilis egymással. Ne feledje, hogy a cél adattípus nem lehet kisebb, mint a forrás típusa. Úgy is ismert, mint kiszélesedő az adattípus konvertálása.

Különbség a típusöntés és a típuskonverzió között

Értsük meg a típuskonverziót egy példán keresztül.

Tegyük fel, hogy van egy int adattípust, és szeretné konvertálni a úszó adattípus. Ezek egymással kompatibilis adattípusok, mivel típusaik numerikusak, és az int mérete 2 bájt, ami kisebb, mint a float adattípus. Ezért a fordító automatikusan konvertálja az adattípusokat anélkül, hogy elveszítené vagy csonkolná az értékeket.

 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. */ 

A fenti példában az int adattípust a float formátumba alakítjuk, amelynek mérete nagyobb, mint az int, és ezáltal kiszélesíti a forrásadattípust.

java osztálydiagram

Értsük meg a típuskonverziót egy C programmal.

 #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(); } 

Kimenet:

Különbség a típusöntés és a típuskonverzió között

Különbség a típusöntés és a típuskonverzió között

S.N. Típus Casting Típus Konverzió
1 A típusöntés egy olyan mechanizmus, amelyben egy adattípust egy másik adattípussá konvertál a programozó egy casting () operátor segítségével. A típuskonverzió lehetővé teszi a fordító számára, hogy egy adattípust egy másik adattípussá alakítson át egy program vagy kód fordítási idején.
2 Használható kompatibilis adattípussal és inkompatibilis adattípussal is. A típuskonverzió csak kompatibilis adattípusokkal használható, ezért nincs szükség öntési operátorra.
3 Egy programozóra van szükség ahhoz, hogy az egyik adatot egy másik típusba kézzel öntse át. Nem igényel programozói beavatkozást az egyik adattípus másikká konvertálásához, mert a fordító automatikusan lefordítja azt a program futási idején.
4 A programozó programtervezés során használja. Egy program fordítási idejében használják vagy zajlik.
5 Az egyik adattípus másikba való átküldésekor a céladattípusnak kisebbnek kell lennie, mint a forrásadat. Az egyik adattípus másikra konvertálásakor a céltípusnak nagyobbnak kell lennie, mint a forrás adattípusának.
6 Szűkítő konverziónak is nevezik, mivel egy nagyobb adattípus kisebb adattípussá konvertálódik. Kiszélesítő konverziónak is nevezik, mivel egy kisebb adattípus nagyobb adattípussá konvertálódik.
7 Megbízhatóbb és hatékonyabb. Kevésbé hatékony és kevésbé megbízható.
8 Fennáll az adat vagy információ elvesztésének lehetősége a típusöntés során. A típuskonverzió során nem valószínű, hogy az adatok elvesznek, amikor egy kis adattípusról nagy adattípusra konvertálunk.
8
float b = 3.0; int a = (int) b
int x = 5, y = 2, c; float q = 12.5, p; p = q/x;