Type conversion
கணினி அறிவியலில், வகை மாற்றம், வகை வார்ப்பு, வகை வற்புறுத்தல் மற்றும் வகை ஏமாற்று வித்தை ஆகியவை ஒரு வெளிப்பாட்டை ஒரு தரவு வகையிலிருந்து இன்னொரு வகைக்கு மாற்றுவதற்கான வெவ்வேறு வழிகள் ஆகும். ஒரு எடுத்துக்காட்டு ஒரு முழு எண் மதிப்பை மிதக்கும் புள்ளி மதிப்பாக மாற்றுவது அல்லது அதன் உரை பிரதிநிதித்துவத்தை ஒரு சரமாக மாற்றுவது மற்றும் நேர்மாறாகவும் இருக்கும். வகை மாற்றங்கள் வகை படிநிலைகள் அல்லது தரவு பிரதிநிதித்துவங்களின் சில அம்சங்களைப் பயன்படுத்திக் கொள்ளலாம். ஒரு வகை மாற்றத்தின் இரண்டு முக்கிய அம்சங்கள் என்னவென்றால், அது மறைமுகமாக (தானாக) அல்லது வெளிப்படையாக நடக்கிறதா, மற்றும் அடிப்படை தரவு பிரதிநிதித்துவம் ஒரு பிரதிநிதித்துவத்திலிருந்து இன்னொரு பிரதிநிதித்துவமாக மாற்றப்படுகிறதா, அல்லது கொடுக்கப்பட்ட பிரதிநிதித்துவம் மற்றொரு தரவு வகையின் பிரதிநிதித்துவமாக மறுபரிசீலனை செய்யப்படுகிறதா. பொதுவாக, பழமையான மற்றும் கூட்டு தரவு வகைகள் இரண்டையும் மாற்றலாம். ஒவ்வொரு நிரலாக்க மொழியும் வகைகளை எவ்வாறு மாற்றலாம் என்பதற்கான அதன் சொந்த விதிகளைக் கொண்டுள்ளது. வலுவான தட்டச்சு கொண்ட மொழிகள் பொதுவாக சிறிய மறைமுகமான மாற்றங்களைச் செய்கின்றன மற்றும் பிரதிநிதித்துவங்களின் மறுபரிசீலனையை ஊக்கப்படுத்துகின்றன, அதே நேரத்தில் பலவீனமான தட்டச்சு கொண்ட மொழிகள் தரவு வகைகளுக்கு இடையில் பல மறைமுகமான மாற்றங்களைச் செய்கின்றன. பலவீனமான தட்டச்சு மொழி பெரும்பாலும் தொகுப்பாளரை ஒரு தரவு உருப்படியை வெவ்வேறு பிரதிநிதித்துவங்களைக் கொண்டிருப்பதாக தன்னிச்சையாக விளக்க கட்டாயப்படுத்த அனுமதிக்கிறது-இது வெளிப்படையான நிரலாக்க பிழையாக இருக்கலாம் அல்லது அடிப்படை வன்பொருளை நேரடியாகக் கையாள்வதற்கான தொழில்நுட்ப முறையாக இருக்கலாம். பெரும்பாலான மொழிகளில், வற்புறுத்தல் என்ற சொல் தொகுப்பின் போது அல்லது இயக்கத்தின் போது ஒரு மறைமுகமான மாற்றத்தைக் குறிக்கப் பயன்படுத்தப்படுகிறது. எடுத்துக்காட்டாக, முழு எண் மற்றும் மிதக்கும் புள்ளி எண்களை கலக்கும் ஒரு வெளிப்பாட்டில் (5 + 0.1 போன்றவை), தொகுப்பாளர் தானாகவே முழு எண் பிரதிநிதித்துவத்தை மிதக்கும் புள்ளி பிரதிநிதித்துவமாக மாற்றுவார், எனவே பின்னங்கள் இழக்கப்படாது. வெளிப்படையான வகை மாற்றங்கள் கூடுதல் குறியீட்டை எழுதுவதன் மூலம் குறிக்கப்படுகின்றன (எ. கா. வகை அடையாளங்காட்டிகளைச் சேர்ப்பது அல்லது உள்ளமைக்கப்பட்ட நடைமுறைகளை அழைப்பது) அல்லது தொகுப்பாளர் ஒரு வகை பொருந்தாத நிலையில் நிறுத்தப்படும்போது பயன்படுத்துவதற்கான மாற்று நடைமுறைகளை குறியிடுவதன் மூலம். பாஸ்கல், மாடுலா-2, அடா மற்றும் டெல்பி போன்ற பெரும்பாலான ALGOL போன்ற மொழிகளில், மாற்றம் மற்றும் வார்ப்பு ஆகியவை தனித்துவமான கருத்துகளாகும். இந்த மொழிகளில், மாற்றம் என்பது ஒரு தரவு வகை சேமிப்பு வடிவத்திலிருந்து மற்றொரு தரவுகளுக்கு ஒரு மதிப்பை மறைமுகமாகவோ அல்லது வெளிப்படையாகவோ மாற்றுவதைக் குறிக்கிறது, எ. கா. ஒரு 32-பிட் முழு எண்ணுக்கு 16-பிட் முழு எண். மாற்றத்தின் விளைவாக சேமிப்பகத் தேவைகள் மாறக்கூடும், இதில் துல்லியம் அல்லது துண்டிக்கப்படுதல் இழப்பு உட்பட. மறுபுறம், வார்ப்பு என்ற சொல், ஒரு வகையிலிருந்து இன்னொரு வகைக்கு ஒரு மதிப்பைக் குறிக்கும் பிட் வடிவத்தின் விளக்கத்தை வெளிப்படையாக மாற்றுவதைக் குறிக்கிறது. எடுத்துக்காட்டாக, 32 தொடர்ச்சியான பிட்கள் 32 பூலியன்களின் வரிசை, 4-பைட் சரம், கையொப்பமிடப்படாத 32-பிட் முழு எண் அல்லது ஐ. இ. இ. இ ஒற்றை துல்லிய மிதக்கும் புள்ளி மதிப்பாகக் கருதப்படலாம். சேமிக்கப்பட்ட பிட்கள் ஒருபோதும் மாற்றப்படாததால், புரோகிராமர் பிரதிநிதித்துவ வடிவம், பைட் வரிசை மற்றும் சீரமைப்பு தேவைகள் போன்ற குறைந்த அளவிலான விவரங்களை அறிந்திருக்க வேண்டும். மொழிகளின் சி குடும்பம் மற்றும் ALGOL 68 இல், காஸ்ட் என்ற சொல் பொதுவாக ஒரு வெளிப்படையான வகை மாற்றத்தைக் குறிக்கிறது (ஒரு மறைமுக மாற்றத்திற்கு மாறாக), இது ஒரு பிட்-வடிவத்தின் மறு விளக்கமா அல்லது உண்மையான தரவு பிரதிநிதித்துவ மாற்றமா என்பது குறித்து சில தெளிவற்ற தன்மையை ஏற்படுத்துகிறது. ஒரு சுட்டிக்காட்டி மூலம் எந்த தரவு வகை (அல்லது வகுப்பு) அமைந்துள்ளது மற்றும் பொருள் (வகுப்பு) பரம்பரை போன்ற சந்தர்ப்பங்களில் தொகுப்பாளரால் ஒரு சுட்டிக்காட்டி எவ்வாறு சரிசெய்யப்படலாம் என்பதற்கு பொருந்தும் பல வழிகள் மற்றும் விதிகள் மிகவும் முக்கியமானவை. பல்வேறு மொழிகளில் வெளிப்படையான வார்ப்பு அடா அன் செக்கட் _ கன்வெர்ஷன் என்ற பொதுவான நூலக செயல்பாட்டை வழங்குகிறது. சி-போன்ற மொழிகள் மறைமுக வகை மாற்றம் மறைமுக வகை மாற்றம், இது வற்புறுத்தல் அல்லது வகை ஏமாற்று வித்தை என்றும் அழைக்கப்படுகிறது, இது தொகுப்பாளரால் தானியங்கி வகை மாற்றமாகும். சில நிரலாக்க மொழிகள் தொகுப்பாளர்களை வற்புறுத்தலை வழங்க அனுமதிக்கின்றன; மற்றவர்களுக்கு இது தேவைப்படுகிறது. கலப்பு வகை வெளிப்பாட்டில், ஒன்று அல்லது அதற்கு மேற்பட்ட துணை வகைகளின் தரவை இயக்க நேரத்தில் தேவைக்கேற்ப ஒரு சூப்பர் டைப்பாக மாற்றலாம், இதனால் நிரல் சரியாக இயங்கும். எடுத்துக்காட்டாக, பின்வருபவை சட்டப்பூர்வமான சி மொழிக் குறியீடாகும்ஃ இரட்டை d; நீண்ட l; int i; (d> i) d = i என்றால்; (i> l) l = i என்றால்; (d = = l) d * = 2 என்றால்; இருப்பினும், மற்றும் வெவ்வேறு தரவு வகைகளைச் சேர்ந்தவை, ஒவ்வொரு முறையும் ஒரு ஒப்பீடு அல்லது பணி செயல்படுத்தப்படும் போது அவை தானாகவே சம தரவு வகைகளாக மாற்றப்படும். இந்த நடத்தை எச்சரிக்கையுடன் பயன்படுத்தப்பட வேண்டும், ஏனெனில் எதிர்பாராத விளைவுகள் ஏற்படலாம். மிதக்கும் புள்ளியில் இருந்து முழு எண்ணுக்கு பிரதிநிதித்துவங்களை மாற்றும்போது தரவு இழக்கப்படலாம், ஏனெனில் மிதக்கும் புள்ளி மதிப்புகளின் பின்ன கூறுகள் துண்டிக்கப்படும் (பூஜ்ஜியத்தை நோக்கி வட்டமிடப்படும்). மாறாக, முழு எண்ணிலிருந்து மிதக்கும் புள்ளிக்கு பிரதிநிதித்துவங்களை மாற்றும்போது துல்லியத்தை இழக்க நேரிடலாம், ஏனெனில் ஒரு மிதக்கும் புள்ளி வகை சில முழு எண் வகையின் சாத்தியமான அனைத்து மதிப்புகளையும் சரியாக பிரதிநிதித்துவப்படுத்த முடியாமல் போகலாம். எடுத்துக்காட்டாக, ஒரு IEEE 754 ஒற்றை துல்லிய வகையாக இருக்கலாம், இது முழு எண் 16777217 ஐ சரியாக குறிக்க முடியாது, அதே நேரத்தில் ஒரு 32-பிட் முழு எண் வகை முடியும். பின்வரும் குறியீட்டால் நிரூபிக்கப்பட்டபடி, இது உள்ளுணர்வற்ற நடத்தைக்கு வழிவகுக்கும்ஃ #include <stdio.h> int பிரதான (வெற்றிடமானது) {int i _ மதிப்பு = 16777217; மிதவை f _ மதிப்பு = 16777216.0; பிரிண்ட்எஃப் ("முழு எண்ஃ% d\n", i _ மதிப்பு); பிரிண்ட்எஃப் (மிதவை என்பதுஃ% f\n, f _ மதிப்பு); பிரிண்ட்எஃப் ("அவற்றின் சமத்துவம்ஃ% d\n", i _ மதிப்பு = = f _ மதிப்பு);} ஐ. இ. இ. இ. ஒற்றை துல்லியமாக மிதவைகளை செயல்படுத்தும் தொகுப்பாளர்களில், மற்றும் குறைந்தபட்சம் 32 பிட்களாக இன்ட்கள், இந்த குறியீடு இந்த விசித்திரமான அச்சு வெளியீட்டைக் கொடுக்கும்ஃ இந்த ஒற்றைப்படை நடத்தை அதை ஒப்பிடும்போது மிதக்கும் ஒரு மறைமுக மாற்றத்தால் ஏற்படுகிறது. இந்த மாற்றம் துல்லியத்தை இழக்கச் செய்கிறது, இது ஒப்பீட்டிற்கு முன் மதிப்புகளை சமமாக்குகிறது. முக்கியமான வழிகள்ஃ துண்டிக்கப்படுவதை ஏற்படுத்துவது, அதாவது, பின்னப் பகுதியை அகற்றுவது. இலக்கத்தின் வட்டத்தை ஏற்படுத்துகிறது. அதிகப்படியான உயர் வரிசை பிட்களின் வீழ்ச்சியை ஏற்படுத்துகிறது. வகை ஊக்குவிப்பு மறைமுக வகை மாற்றத்தின் ஒரு சிறப்பு வழக்கு வகை ஊக்குவிப்பு ஆகும், அங்கு ஒரு பொருள் தானாகவே அசல் வகையின் சூப்பர்செட்டைக் குறிக்கும் மற்றொரு தரவு வகையாக மாற்றப்படுகிறது. விளம்பரங்கள் பொதுவாக இலக்கு தளத்தின் எண்கணித தர்க்க அலகு (ALU) இன் சொந்த வகையை விட சிறிய வகைகளுடன் பயன்படுத்தப்படுகின்றன, எண்கணித மற்றும் தர்க்கரீதியான செயல்பாடுகளுக்கு முன், அத்தகைய செயல்பாடுகளை சாத்தியமாக்க அல்லது ALU ஒன்றுக்கு மேற்பட்ட வகைகளுடன் வேலை செய்ய முடிந்தால் மிகவும் திறமையானவை. சி மற்றும் சி + + ஆகியவை பூலியன், எழுத்து, பரந்த எழுத்து, கணக்கீடு மற்றும் குறுகிய முழு எண் வகைகளின் பொருள்களுக்கு இன்ட்டாகவும், ஃப்ளோட் வகை பொருட்களுக்கு இரட்டிப்பாகவும் ஊக்குவிக்கப்படுகின்றன. வேறு சில வகை மாற்றங்களைப் போலல்லாமல், விளம்பரங்கள் ஒருபோதும் துல்லியத்தை இழக்காது அல்லது பொருளில் சேமிக்கப்பட்ட மதிப்பை மாற்றாது. ஜாவாவில்ஃ int x = 3; இரட்டை y = 3.5; System.out.println (x + y);// வெளியீடு 6.5 வெளிப்படையான வகை மாற்றமாக இருக்கும் வெளிப்படையான வகை மாற்றம், வகை வார்ப்பு என்றும் அழைக்கப்படுகிறது, இது ஒரு நிரலுக்குள் வெளிப்படையாக வரையறுக்கப்படும் ஒரு வகை மாற்றமாகும் (மறைமுக வகை மாற்றத்திற்கான மொழியின் விதிகளின்படி தானாகவே செய்யப்படுவதற்குப் பதிலாக). இது நிரலில் உள்ள பயனரால் கோரப்படுகிறது. இரட்டை டா = 3.3; இரட்டை டிபி = 3.3; இரட்டை டிசி = 3.4; இன்ட் ரிசல்ட் = (இன்ட்) டா + (இன்ட்) டிபி + (இன்ட்) டிசி;// ரிசல்ட் = = 9// மறைமுகமான மாற்றம் பயன்படுத்தப்பட்டால் (ரிசல்ட் = டா + டிபி + டிசி), ரிசல்ட் 10 க்கு சமமாக இருக்கும். மாற்றம் செய்யப்படுவதற்கு முன்பு சரிபார்க்கப்பட்டது, இலக்கு வகை மூல மதிப்பை வைத்திருக்க முடியுமா என்பதைப் பார்க்க ஒரு இயக்க நேர சரிபார்ப்பு செய்யப்படுகிறது. இல்லையென்றால், ஒரு பிழை நிபந்தனை எழுப்பப்படும். சரிபார்க்கப்படாத எந்த காசோலையும் செய்யப்படவில்லை. இலக்கு வகை மூல மதிப்பை வைத்திருக்க முடியாவிட்டால், முடிவு வரையறுக்கப்படவில்லை. பிட் முறை மூலத்தின் மூல பிட் பிரதிநிதித்துவம் சொற்களால் நகலெடுக்கப்படுகிறது, மேலும் இது இலக்கு வகையின்படி மறுபரிசீலனை செய்யப்படுகிறது. அலியாசிங் மூலமாகவும் இதை அடைய முடியும். பொருள் சார்ந்த நிரலாக்க மொழிகளில், பொருள்கள் கீழ்நிலைப்படுத்தப்படலாம்ஃ ஒரு அடிப்படை வகுப்பின் குறிப்பு அதன் பெறப்பட்ட வகுப்புகளில் ஒன்றிற்கு செலுத்தப்படுகிறது. சி #மற்றும் சி + + சி #இல், வகை மாற்றத்தை பாதுகாப்பான அல்லது பாதுகாப்பற்ற (அதாவது, சி போன்ற) முறையில் செய்யலாம், முந்தையது சரிபார்க்கப்பட்ட வகை வார்ப்பு என்று அழைக்கப்படுகிறது. விலங்கு விலங்கு = புதிய பூனை (); புல்டாக் பி = (புல்டாக்) விலங்கு;// (விலங்கு புல்டாக்) என்றால், stat.type (விலங்கு) புல்டாக், இல்லையெனில் ஒரு விதிவிலக்கு பி = விலங்கு புல்டாக்;// (விலங்கு புல்டாக்) என்றால், பி = (புல்டாக்) விலங்கு, இல்லையெனில் பி = பூஜ்ய விலங்கு = பூஜ்யம்; பி = விலங்கு புல்டாக்;// பி = = பூஜ்யம் சி + + இல் இதேபோன்ற விளைவை சி + + பாணி வார்ப்பு தொடரியல் பயன்படுத்தி அடைய முடியும். விலங்கு * விலங்கு = புதிய பூனை; புல்டாக் * பி = நிலையான _ காஸ்ட் <புல்டாக் *> (விலங்கு);// ஒன்று விலங்கு அல்லது புல்டாக் மற்ற (அல்லது அதே) பி = டைனமிக் _ காஸ்ட் <புல்டாக் *> (விலங்கு);// (விலங்கு புல்டாக்), பி = (புல்டாக் *) விலங்கு என்றால், இல்லையெனில் பி = நல்ட்டர் புல்டாக் & பிஆர் = நிலையான _ காஸ்ட் <புல்டாக் &> (* விலங்கு);// மேலே உள்ளதைப் போலவே, ஆனால் ஒரு நல்ட்டர் திருப்பித் தரப்பட்டால் ஒரு விதிவிலக்கு வீசப்படும்// இது விலக்கு கையாளுதல் விலக்கு விலங்கு நீக்கப்படுவதைத் தவிர்க்கும் குறியீட்டில் காணப்படவில்லை;// எப்போதும் இலவச வளங்கள் விலங்கு = நல்ட்டர்; பி = டைனமிக் _ காஸ்ட் <புல்டாக் இந்த விஷயத்தில் அதன் மூல வெளிப்பாட்டின் வகை, y, அதன் இலக்கு நிறுவனத்தின் வகையுடன் இணக்கமாக இருந்தால் மட்டுமே, x: = y போன்ற ஒரு பணி செல்லுபடியாகும் என்று அசைன்மென்ட் விதி கூறுகிறது. இந்த விதியில், இணக்கமானது என்பது மூல வெளிப்பாட்டின் வகை இலக்குடன் ஒத்துப்போகிறது அல்லது மாற்றுகிறது என்பதாகும். வகைகளின் இணக்கம் பொருள் சார்ந்த நிரலாக்கத்தில் பாலிமார்பிசத்திற்கான பழக்கமான விதிகளால் வரையறுக்கப்படுகிறது. எடுத்துக்காட்டாக, மேலே உள்ள வேலையில், y அடிப்படையாகக் கொண்ட வகுப்பு x அடிப்படையாகக் கொண்ட வகுப்பின் வழித்தோன்றலாக இருந்தால், y வகை x வகையுடன் ஒத்துப்போகிறது. ஈஃபிலில் வகை மாற்றத்தின் வரையறை ஈஃபிலில் வகை மாற்றத்தின் செயல்கள், குறிப்பாக மாற்றப்படுகிறது மற்றும் மாற்றப்படுகிறது பின்வருமாறு வரையறுக்கப்படுகின்றனஃ ஒரு வகுப்பு CU ஐ அடிப்படையாகக் கொண்ட ஒரு வகை ஒரு வகுப்பு CT ஐ அடிப்படையாகக் கொண்ட ஒரு வகை T ஆக மாறுகிறது (மற்றும் T என்பது U இலிருந்து மாறுகிறது) ஒன்று CT இல் U ஐ ஒரு மாற்று வகையாகப் பயன்படுத்தி ஒரு மாற்று செயல்முறையைக் கொண்டிருந்தால், அல்லது CU இல் T ஐ ஒரு மாற்று வகையாக பட்டியலிடும் மாற்று வினவல் இருந்தால். . நெட் வளர்ச்சிக்கு முன்பு, ஈஃபிள் ஏற்கனவே விரிவான வகுப்பு நூலகங்களைக் கொண்டிருந்தது. . NET வகை நூலகங்களைப் பயன்படுத்துவது, குறிப்பாக சரங்கள் போன்ற பொதுவாகப் பயன்படுத்தப்படும் வகைகளுடன், ஒரு மாற்று சிக்கலை ஏற்படுத்துகிறது. தற்போதுள்ள ஈஃபிள் மென்பொருள் ஈஃபிள் நூலகங்களிலிருந்து சரம் வகுப்புகளைப் பயன்படுத்துகிறது (STRING _ 8 போன்றவை), ஆனால். NET க்காக எழுதப்பட்ட ஈஃபிள் மென்பொருள் பல சந்தர்ப்பங்களில். NET சரம் வகுப்பை (System.String) பயன்படுத்த வேண்டும், எடுத்துக்காட்டாக. NET முறைகளை அழைக்கும்போது. எனவே, இந்த வகைகளை முன்னும் பின்னுமாக மாற்றுவது முடிந்தவரை தடையின்றி இருக்க வேண்டும். மை _ ஸ்ட்ரிங்ஃ ஸ்ட்ரிங் _ 8-- நேட்டிவ் ஈபிள் ஸ்ட்ரிங் மை _ சிஸ்டம் _ ஸ்ட்ரிங்ஃ சிஸ்டம் _ ஸ்ட்ரிங்-- நேட்டிவ். நெட் ஸ்ட்ரிங். மை _ ஸ்ட்ரிங்ஃ = மை _ சிஸ்டம் _ ஸ்ட்ரிங் மேலே உள்ள குறியீட்டில், இரண்டு சரங்கள் அறிவிக்கப்படுகின்றன, ஒவ்வொன்றும் வெவ்வேறு வகைகளில் ஒன்று (சிஸ்டம் _ ஸ்ட்ரிங் என்பது System.String க்கான ஈபிள் இணக்கமான மாற்றுப்பெயர்). System.String என்பது STRING _ 8 உடன் ஒத்துப்போகாததால், System.String என்பது STRING _ 8 ஆக மாறினால் மட்டுமே மேலே உள்ள பணி செல்லுபடியாகும். ஈபிள் வகுப்பு ஸ்ட்ரிங் _ 8 இல் System.String வகை பொருள்களுக்கு மேக் _ ஃப்ரம் _ சில் என்ற மாற்று செயல்முறை உள்ளது. மாற்றும் நடைமுறைகள் எப்போதும் படைப்பு நடைமுறைகளாக குறிப்பிடப்படுகின்றன (கட்டமைப்பாளர்களைப் போலவே). STRING _ 8 வகுப்பில் இருந்து ஒரு பகுதி பின்வருமாறுஃ வகுப்பு STRING _ 8. உருவாக்க _ இருந்து _ cil. மாற்ற _ இருந்து _ cil ({SYSTEM _ STRING}). மாற்று செயல்முறையின் இருப்பு இந்த வேலையை செய்கிறதுஃ எனது _ சரம்ஃ = எனது _ சிஸ்டம் _ சரம் சொற்பொருள் ரீதியாக சமமானதுஃ உருவாக்கவும் my_string.make_from_cil (எனது _ சிஸ்டம் _ சரம்) இதில் எனது _ சரம் என் _ சிஸ்டம் _ சரத்திற்கு சமமான உள்ளடக்கத்துடன் STRNG _ 8 வகையின் புதிய பொருளாக கட்டமைக்கப்பட்டுள்ளது. அசல் மூலத்துடன் ஒரு வேலையைக் கையாள மற்றும் இலக்கை தலைகீழாக மாற்றுவதற்குஃ என் _ சிஸ்டம் _ ஸ்ட்ரிங்ஃ = என் _ ஸ்ட்ரிங் வகுப்பு STRING _ 8 இல் ஒரு மாற்று வினவலும் உள்ளது, இது STRING _ 8 இன் நிகழ்விலிருந்து ஒரு System.String ஐ உருவாக்கும். வகுப்பு ஸ்ட்ரிங் _ 8. மேக் _ ஃப்ரம் _ சில் உருவாக்கவும். மேக் _ ஃப்ரம் _ சில் ({சிஸ்டெம் _ ஸ்ட்ரிங்}) ஐ _ சில்ஃ {சிஸ்டெம் _ ஸ்ட்ரிங்} ஆக மாற்றவும். பணிஃ எனது _ சிஸ்டம் _ ஸ்ட்ரிங்ஃ = எனது _ ஸ்ட்ரிங் பின்னர், அதற்கு சமமாகிறதுஃ எனது _ சிஸ்டம் _ ஸ்ட்ரிங்ஃ = my_string.to_cil ஈஃபிளில், வகை மாற்றத்திற்கான அமைப்பு வகுப்பு குறியீட்டில் சேர்க்கப்பட்டுள்ளது, ஆனால் பின்னர் கிளையன்ட் குறியீட்டில் வெளிப்படையான வகை மாற்றமாக தானாகவே நிகழ்கிறது. இதில் பணிகள் மட்டுமல்லாமல், வாதம் (அளவுரு) மாற்று போன்ற பிற வகையான இணைப்புகளும் அடங்கும். ரஸ்ட் ரஸ்ட் பழமையான வகைகளுக்கு இடையில் மறைமுகமான வகை மாற்றத்தை (வற்புறுத்தல்) வழங்காது. ஆனால், வெளிப்படையான வகை மாற்றத்தை (வார்ப்பு) முக்கிய வார்த்தையாகப் பயன்படுத்தி செய்யலாம். x = 1000 ஆக இருக்கட்டும். ("1000 ஒரு u16 என்பதுஃ {}", x என்பது u16); குறிக்கப்படாத தொழிற்சங்கங்களைப் பயன்படுத்தி மறைமுகமான வார்ப்பு பல நிரலாக்க மொழிகள் தொழிற்சங்க வகைகளை ஆதரிக்கின்றன, அவை பல வகைகளின் மதிப்பைக் கொண்டிருக்கலாம். குறிக்கப்படாத தொழிற்சங்கங்கள் சி மற்றும் பிஎல்/ஐ போன்ற தளர்வான வகைச் சரிபார்ப்புடன் சில மொழிகளில் வழங்கப்படுகின்றன, ஆனால் அசல் பாஸ்கலிலும் வழங்கப்படுகின்றன. ஒரு வகையின் பிட் வடிவத்தை மற்றொரு வகையின் மதிப்பாக விளக்க இவை பயன்படுத்தப்படலாம். ஹேக்கிங்கில், தட்டச்சு என்பது ஒரு மாறியின் தரவு வகையை முதலில் வரையறுக்கப்பட்ட விதத்திலிருந்து தற்காலிகமாக மாற்ற வகை மாற்றத்தை தவறாகப் பயன்படுத்துவதாகும். இது ஹேக்கர்களுக்கு வாய்ப்புகளை வழங்குகிறது, ஏனெனில் ஒரு மாறி "டைப்ப்காஸ்ட்" வேறு தரவு வகையாக மாறிய பிறகு, தொகுப்பாளர் அந்த ஹேக் செய்யப்பட்ட மாறியை அந்த குறிப்பிட்ட செயல்பாட்டிற்கான புதிய தரவு வகையாக கருதுவார். மேலும் காண்க டவுன்காஸ்டிங் வகை பஞ்சிங் குறிப்புகள் வெளிப்புற இணைப்புகள் காஸ்டிங் இன் அடா காஸ்டிங் இன் சி + + சி + + குறிப்பு வழிகாட்டி நான் சி + + காஸ்ட் ஆபரேட்டர்களை ஏன் வெறுக்கிறேன், டேனி காலேவ் எழுதிய ஜாவாவில் காஸ்டிங் சி #இம்ப்லிஸிட் வகை காஸ்டிங் இல் உள்ளார்ந்த மாற்றங்கள் சி + + இல் நிலையான மற்றும் மறுபரிசீலனை காஸ்டிங் அப்காஸ்டிங் மற்றும் எஃப் #தரவு வகைகளில் டவுன்காஸ்டிங் ஆபரேட்டர்கள் (நிரலாக்கம்) வகை கோட்பாடு யூனரி செயல்பாடுகள்