టైప్ కాస్టింగ్ మరియు టైప్ కన్వర్షన్ మధ్య తేడా
విషయము
టైప్ కన్వర్షన్ మరియు టైప్ కాస్టింగ్ మధ్య ప్రాథమిక వ్యత్యాసం, అనగా టైప్ కన్వర్షన్ కంపైలర్ ద్వారా “స్వయంచాలకంగా” చేయబడుతుంది, అయితే టైప్ కాస్టింగ్ ప్రోగ్రామర్ చేత “స్పష్టంగా జరుగుతుంది”.
“టైప్ కాస్టింగ్” మరియు “టైప్ కన్వర్షన్” అనే రెండు పదాలు ఒక డేటా రకాన్ని మరొకదానికి మార్చవలసిన అవసరం వచ్చినప్పుడు సంభవిస్తాయి. రెండు రకాలు ఒకదానితో ఒకటి అనుకూలంగా ఉన్నప్పుడు, ఒక రకాన్ని మరొకదానికి మార్చడం కంపైలర్ చేత స్వయంచాలకంగా జరుగుతుంది. పోలిక చార్ట్ సహాయంతో టైప్ కాస్టింగ్ మరియు మార్పిడి రెండింటి వ్యత్యాసాన్ని చర్చిద్దాం.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్:
పోలిక కోసం ఆధారం | కాస్టింగ్ అని టైప్ చేయండి | మార్పిడి అని టైప్ చేయండి |
---|---|---|
అర్థం | ఒక డేటా రకాన్ని వినియోగదారు మరొకరికి కేటాయించారు, కాస్ట్ ఆపరేటర్ను ఉపయోగించి దానిని "టైప్ కాస్టింగ్" అని పిలుస్తారు. | కంపైలర్ ద్వారా ఒక డేటా రకాన్ని స్వయంచాలకంగా మార్చడాన్ని "టైప్ కన్వర్షన్" అంటారు. |
అప్లైడ్ | టైప్ కాస్టింగ్ రెండు అననుకూల డేటా రకాలకు కూడా వర్తించవచ్చు. | రెండు డేటా రకాలు అనుకూలంగా ఉన్నప్పుడు మాత్రమే టైప్ కన్వర్షన్ అమలు అవుతుంది. |
ఆపరేటర్ | డేటా రకాన్ని మరొకదానికి ప్రసారం చేయడానికి, కాస్టింగ్ ఆపరేటర్ () అవసరం. | ఆపరేటర్ అవసరం లేదు. |
డేటా రకాలు పరిమాణం | గమ్యం రకం మూలం రకం కంటే చిన్నదిగా ఉంటుంది. | ఇక్కడ గమ్యం రకం మూలం రకం కంటే పెద్దదిగా ఉండాలి. |
అమలు | ఇది ప్రోగ్రామ్ డిజైనింగ్ సమయంలో జరుగుతుంది. | కంపైల్ చేసేటప్పుడు ఇది స్పష్టంగా జరుగుతుంది. |
మార్పిడి రకం | ఇరుకైన మార్పిడి. | విస్తృత మార్పిడి. |
ఉదాహరణ | int a; బైట్ బి; ... ... b = (బైట్) a; | int a = 3; ఫ్లోట్ బి; బి = ఒక; బి = 3.000 లో // విలువ. |
టైప్ కాస్టింగ్ యొక్క నిర్వచనం
కాస్టింగ్ టైప్ చేయండి ప్రోగ్రామ్ రూపకల్పన సమయంలో, ప్రోగ్రామర్ చేత, ఒక డేటా రకాన్ని మరొక డేటా రకానికి ప్రసారం చేయడం అని నిర్వచించవచ్చు. ఒక డేటా రకాన్ని మరొకదానికి స్వయంచాలకంగా మార్చడం అన్ని సమయాలలో సాధ్యం కాదు. ‘గమ్యం రకం’ ‘మూల రకం’ కంటే చిన్నదిగా ఉండాలనే షరతు కావచ్చు. అందువల్ల, ప్రోగ్రామర్ కాస్టింగ్ ఆపరేటర్ ‘()’ ను ఉపయోగించి పెద్ద డేటా రకాన్ని చిన్న డేటా రకానికి స్పష్టంగా ప్రసారం చేయాలి. పెద్ద డేటా రకాన్ని చిన్న డేటా రకానికి మాడ్యులేట్ చేసినందున, దీనిని ‘ఇరుకైన మార్పిడి’ అని కూడా పిలుస్తారు.
ప్రకటన:destination_type = (target_type) వేరియబుల్ / విలువ // లక్ష్య రకం మీరు మూలం రకాన్ని మార్చాలనుకునే రకం, ఇది ఎల్లప్పుడూ గమ్యం రకం.
ఉదాహరణ
దీన్ని ఉదాహరణతో అర్థం చేసుకుందాం. మీరు డేటా రకాన్ని ‘int’ ను ‘బైట్’ గా మార్చాలనుకుంటున్నారు. ఇప్పుడు, ‘బైట్’ ‘పూర్ణాంకం’ కంటే చిన్నదిగా ఉన్నందున, రకం మార్పిడి అనుమతించబడదు. ఇక్కడ, కాస్టింగ్ ఆపరేటర్ ‘()’ ను ఉపయోగించడం ద్వారా మేము ‘పూర్ణాంకానికి’ ‘బైట్’ గా మార్చవలసి వచ్చింది. ‘Int’ ‘బైట్’ కంటే పెద్దదిగా ఉన్నందున, ‘int’ యొక్క పరిమాణం “int mod byte” పరిధికి తగ్గించబడుతుంది.
int a; బైట్ బి; ... ... బి = (బైట్) అ;
‘ఫ్లోట్’ ను ‘పూర్ణాంకానికి’ మార్చినప్పుడు, ఫ్లోట్ యొక్క పరిమాణం కత్తిరించబడుతుంది, ఎందుకంటే ‘పూర్ణాంక’ పాక్షిక విలువను నిల్వ చేయదు. గమ్యం రకం పరిమాణం సోర్స్ రకానికి సరిపోయేంత తక్కువగా ఉంటే, అప్పుడు మూలం రకం మాడ్యులో గమ్యం రకం ‘పరిధి’. డేటా రకాలు అనుకూలంగా ఉన్నప్పుడు కాస్టింగ్ కూడా వర్తించవచ్చు. టైప్ మార్పిడి అవసరమైన చోట టైప్ కాస్టింగ్ ఉపయోగించడం మంచి పద్ధతి.
రకం మార్పిడి యొక్క నిర్వచనం
టైప్ మార్పిడి అవసరమైనప్పుడు ఒక డేటా రకాన్ని మరొకదానికి స్వయంచాలకంగా మార్చడం, కంపైలర్ చేత స్పష్టంగా చేయబడుతుంది. కానీ రకం మార్పిడికి ముందు సంతృప్తి చెందడానికి రెండు షరతులు ఉన్నాయి.
- మూలం మరియు గమ్యం రకం తప్పనిసరిగా అనుకూలంగా ఉండాలి.
- గమ్యం రకం మూలం రకం కంటే పెద్దదిగా ఉండాలి.
రకం మార్పిడిని సాధించడానికి ఈ రెండు షరతులు సంతృప్తి చెందాలి మరియు ఈ రకమైన మార్పిడిని ‘వెడల్పు మార్పిడి’ అంటారు, ఎందుకంటే ఒక చిన్న రకాన్ని పెద్ద రకంగా మార్చడం వలన, రకాన్ని విస్తరించడం జరుగుతుంది. ఈ విస్తృత మార్పిడి కోసం, సంఖ్యా రకాలు ‘పూర్ణాంకం’, ‘ఫ్లోట్’ ఒకదానికొకటి అనుకూలంగా ఉంటాయి, అయితే సంఖ్యాపరంగా చార్ మరియు బూలియన్ లేదా చార్ టు బూలియన్ కూడా అనుకూలంగా లేవు.
ఉదాహరణ
ఈ ఉదాహరణ దీని గురించి మంచి అభిప్రాయాన్ని అందిస్తుంది
int a = 3; ఫ్లోట్ బి; బి = ఒక; బి = 3.000 లో // విలువ.
ఇక్కడ, ‘పూర్ణాంకానికి’ పెద్దదిగా ఉండే ‘ఫ్లోట్’ గా మార్చబడుతుంది, కాబట్టి మూల రకాన్ని విస్తరించడం జరుగుతుంది. ఇక్కడ, కంపైలర్ స్పష్టంగా చేస్తుంది కాబట్టి కాస్టింగ్ ఆపరేటర్ అవసరం లేదు.
- టైప్ మార్పిడి నుండి టైప్ కాస్టింగ్ను వేరుచేసే ప్రాథమిక వ్యత్యాసం ఏమిటంటే టైప్ కాస్టింగ్ అనేది ప్రోగ్రామర్ చేత చేయబడిన ఒక రకాన్ని మరొక రకానికి మార్చడం. మరోవైపు, రకం మార్పిడి అనేది ఒక రకాన్ని మరొక రకానికి మార్చడం, కంపైలర్ చేసేటప్పుడు కంపైలర్ చేత చేయబడుతుంది.
- టైప్ కాస్టింగ్ డేటాటైప్లకు వర్తించవచ్చు, అవి ఒకదానితో ఒకటి అనుకూలంగా ఉండకపోవచ్చు. దీనికి విరుద్ధంగా, టైప్ కన్వర్షన్ ఒకదానికొకటి అనుకూలంగా ఉండే డేటాటైప్లకు మాత్రమే వర్తించబడుతుంది.
- టైప్ కాస్టింగ్లో ఒక రకాన్ని మరొకదానికి మార్చడానికి కాస్టింగ్ ఆపరేటర్ “()” అవసరం అయితే టైప్ కన్వర్షన్లో ఒక డేటా రకాన్ని మరొకదానికి మార్చడానికి ఏ ఆపరేటర్ అవసరం లేదు.
- టైప్ కాస్టింగ్లో ఒక డేటా రకాన్ని మరొకదానికి మారుస్తున్నప్పుడు, గమ్యం రకం మూలం రకం కంటే పెద్దది లేదా చిన్నది కావచ్చు. దీనికి విరుద్ధంగా, గమ్యం రకం రకం మార్పిడిలో మూలం రకం కంటే పెద్దదిగా ఉండాలి.
- టైప్ కాస్టింగ్లో కోడింగ్ చేస్తున్నప్పుడు ఒక రకాన్ని మరొక రకానికి మార్చడం జరుగుతుంది. దీనికి విరుద్ధంగా, రకం మార్పిడిలో, సంకలనం సమయంలో ఒక రకాన్ని మరొక రకానికి మార్చడం స్పష్టంగా జరుగుతుంది.
- టైప్ కాస్టింగ్ను ఇరుకైన మార్పిడి అని పిలుస్తారు ఎందుకంటే ఇక్కడ గమ్యం రకం మూలం రకం కంటే చిన్నదిగా ఉంటుంది. కాకుండా, రకం మార్పిడిని వెడల్పు మార్పిడి అని పిలుస్తారు ఎందుకంటే ఇక్కడ, గమ్యం రకం మూల రకం కంటే పెద్దదిగా ఉండాలి.
ముగింపు:
టైప్ కన్వర్షన్ మరియు టైప్ కాస్టింగ్ రెండూ ఒక డేటా రకాన్ని మరొకదానికి మార్చే పనిని చేస్తాయని తేల్చవచ్చు, అయితే టైప్ కాస్టింగ్ ప్రోగ్రామర్ చేత చేయబడుతుంది, కాస్ట్ ఆపరేటర్ () ను ఉపయోగించి టైప్ కన్వర్షన్ కంపైలర్ చేత చేయబడుతుంది. , మరియు ఇది ఏ ఆపరేటర్ను ఉపయోగించదు.