C++ நிரலாக்கத்தில், ஹெக்ஸாடெசிமல் மதிப்புகளை அச்சிடுவது ஒரு பொதுவான தேவை. நினைவக முகவரிகளுடன் பணிபுரிந்தாலும், பிட்வைஸ் செயல்பாடுகளை நடத்தினாலும் அல்லது தரவுகளின் ஹெக்ஸாடெசிமல் பிரதிநிதித்துவங்களைக் கையாள்வது, ஹெக்ஸ் மதிப்புகளை திறம்படக் காண்பிக்க பல்வேறு முறைகளைப் புரிந்துகொள்வது அவசியம். C++ இல் ஹெக்ஸாடெசிமல் மதிப்புகளை அச்சிடுவதற்கான பல்வேறு முறைகள் மற்றும் நுட்பங்களை இந்தக் கட்டுரை ஆராய்கிறது, அவற்றின் பயன்பாடுகள் மற்றும் பயன்பாட்டு நிகழ்வுகளில் வெளிச்சம் போடுகிறது.
Std::hex ஐப் பயன்படுத்தி ஹெக்ஸ் மதிப்புகளை அச்சிடுதல்
C++ இல் ஹெக்ஸாடெசிமல் மதிப்புகளை அச்சிடுவதற்கான ஒரு நேரடியான வழி,
#
#அடங்கும்
முழு எண்ணாக ( ) {
int decimalValue = 907 ;
std::cout << 'ஹெக்ஸாடெசிமல் மதிப்பு:' << std:: hex << தசம மதிப்பு << std::endl;
திரும்ப 0 ;
}
இந்த எடுத்துக்காட்டில், 'std::hex' கையாளுதல் 'std::cout' வெளியீட்டு ஸ்ட்ரீமில் 'தசம மதிப்பு' முழு எண்ணை அச்சிடுவதற்கு முன் பயன்படுத்தப்படுகிறது. ஹெக்ஸ் மதிப்பை அச்சிட்ட பிறகு, ஸ்ட்ரீம் அதன் இயல்பான நடத்தைக்கு மாற்றியமைக்கப்படும். C++ இல் 'std::hex' கையாளுதலைப் பயன்படுத்தி ஹெக்ஸாடெசிமல் மதிப்பை எவ்வாறு அச்சிடுவது என்பதை இந்தக் குறியீடு சரியாகக் காட்டுகிறது. குறியீட்டின் முறிவு இங்கே:
தலைப்புகள்
முக்கிய செயல்பாடு
'int decimalValue = 907;' 'int' வகையின் 'தசம மதிப்பு' மாறியை அறிவித்து, அதை 907 இன் தசம மதிப்புடன் ஒதுக்குகிறது.
“std::cout << “ஹெக்ஸாடெசிமல் மதிப்பு: ” << std::hex << decimalValue << std::endl;” 'ஹெக்ஸாடெசிமல் மதிப்பு:' ஐ அச்சிடுகிறது, அதைத் தொடர்ந்து 'தசம மதிப்பு' இன் ஹெக்ஸாடெசிமல் பிரதிநிதித்துவம்.
'std::hex' பின்வரும் மதிப்பை ஹெக்ஸாடெசிமல் என விளக்குவதற்கு வெளியீட்டு ஸ்ட்ரீமை அறிவுறுத்துகிறது. 'decimalValue' மாறியானது ஹெக்ஸாக மாற்றப்பட வேண்டிய தசம மதிப்பைக் கொண்டுள்ளது. 'std::endl' அச்சிட்ட பிறகு ஒரு புதிய வரி எழுத்தைச் செருகும். இறுதியாக, இந்தக் குறியீடு இப்போது “ஹெக்ஸாடெசிமல் மதிப்பு: 38B” ஐ அச்சிடுகிறது, பின்வரும் வெளியீட்டுத் துணுக்கில் நீங்கள் பார்க்கலாம்:
'%x' வடிவமைப்பு விவரக்குறிப்பைப் பயன்படுத்தி ஹெக்ஸ் மதிப்புகளை அச்சிடுதல்
C நிரலாக்க மொழியை நன்கு அறிந்தவர்களுக்கு, 'printf' செயல்பாடு C++ இல் ஹெக்ஸாடெசிமல் மதிப்புகளை சுருக்கமாக அச்சிடுகிறது. C++ ஆனது
முழு எண்ணாக ( ) {
int decimalValue = 1256 ;
printf ( 'printf உடன் ஹெக்ஸாடெசிமல் மதிப்பு: %x \n ' , தசம மதிப்பு ) ;
திரும்ப 0 ;
}
இந்த எடுத்துக்காட்டில், 'printf' செயல்பாட்டிற்குள் உள்ள '%x' வடிவமைப்பு குறிப்பான், தொடர்புடைய வாதம் ஹெக்ஸாடெசிமலில் அச்சிடப்பட வேண்டும் என்பதைக் குறிக்கிறது. கொடுக்கப்பட்ட குறியீடு C++ இல் “printf” ஐப் பயன்படுத்தி ஹெக்ஸாடெசிமல் மதிப்பை அச்சிடுவதற்கான சிறந்த எடுத்துக்காட்டு. அதை உடைப்போம்:
தலைப்புகள்
முக்கிய செயல்பாடு
'int decimalValue = 1256;' 'தசம மதிப்பு' என்ற முழு எண் மாறிக்கு 1256 இன் தசம மதிப்பை அறிவித்து ஒதுக்குகிறது. 'printf' இல் உள்ள 'printf' ('printf உடன் ஹெக்ஸாடெசிமல் மதிப்பு: %x\n', decimalValue);' வடிவமைத்த வெளியீட்டை அச்சிடுவதற்கு 'printf' செயல்பாட்டை அறிக்கை அழைக்கிறது. '%x' என்பது 'வடிவக் குறிப்பான்' ஆகும், இது பின்வரும் வாதத்தை சிற்றெழுத்து ஹெக்ஸாடெசிமல் எண்ணாக அச்சிட வேண்டும் என்பதைக் குறிக்கிறது. கடைசியாக, அச்சிட்ட பிறகு “\n” ஒரு புதிய வரி எழுத்தைச் செருகும். இந்தக் குறியீடு பின்வரும் வெளியீட்டுத் துணுக்கில் காணப்படுவது போல் கன்சோலுக்கு “printf உடன் ஹெக்ஸாடெசிமல் மதிப்பு 4e8” என்பதை வெளியிடுகிறது:
திணிப்புடன் ஹெக்ஸ் மதிப்புகளை அச்சிடுதல்
ஹெக்ஸாடெசிமல் மதிப்புகளைக் கையாளும் போது, குறிப்பாக நினைவக முகவரிகள், நிலையான அகலம் அல்லது திணிப்பு பெரும்பாலும் விரும்பத்தக்கது.
#அடங்கும்
முழு எண்ணாக ( ) {
int decimalValue = 47 ;
std::cout << 'பேடிங்குடன் கூடிய ஹெக்ஸாடெசிமல் மதிப்பு:' << std::setw ( 8 ) << std:: hex << தசம மதிப்பு << std::endl;
திரும்ப 0 ;
}
இந்த எடுத்துக்காட்டில், std::setw(8) என்பது ஹெக்ஸாடெசிமல் மதிப்பு குறைந்தபட்ச அகலம் 8 எழுத்துகளுடன் அச்சிடப்படுவதை உறுதி செய்கிறது. நெடுவரிசைகள் அல்லது நினைவக முகவரிகளுடன் மதிப்புகளை சீரமைக்க இது மிகவும் பயனுள்ளதாக இருக்கும்.
குறியீட்டை உடைத்து ஒவ்வொரு வரியையும் ஒவ்வொன்றாகப் புரிந்துகொள்வோம்:
தலைப்புகள்
முக்கிய செயல்பாடு
'int decimalValue = 47;' 'தசம மதிப்பு' என்ற முழு எண் மாறிக்கு 47 இன் தசம மதிப்பை அறிவித்து ஒதுக்குகிறது.
“std::cout << “பேடிங்குடன் கூடிய ஹெக்ஸாடெசிமல் மதிப்பு: ” << std::setw(8) << std::hex << decimalValue << std::endl;” அறிக்கை setw(8) திணிப்புடன் 47 இன் ஹெக்ஸாடெசிமல் எண்ணை அச்சிடுகிறது. 'std::setw(8)' ஆனது 'std::setw' மேனிபுலேட்டரைப் பயன்படுத்துகிறது
'std::hex' என்பது 'std::hex' கையாளுதலைப் பயன்படுத்துகிறது, இது கொடுக்கப்பட்ட எடுத்துக்காட்டுகளில் ஒன்றில் விளக்கப்பட்டுள்ளபடி அடுத்த மதிப்பை ஹெக்ஸாடெசிமல் என விளக்குமாறு ஸ்ட்ரீமிடம் கூறுகிறது. பின்வரும் வெளியீடு கன்சோலில் அச்சிடப்படுகிறது:
பைட் தரவின் ஹெக்ஸ் மதிப்புகளை அச்சிடுதல்
பைட் தரவுகளுடன் பணிபுரியும் போது, ஒவ்வொரு பைட்டையும் இரண்டு இலக்க ஹெக்ஸாடெசிமல் மதிப்பாகக் குறிப்பிடுவது பொதுவானது. அகலம் 2 ஆக அமைக்கப்பட்டிருப்பதை உறுதிசெய்து, முன்னணி பூஜ்ஜியங்களை நிரப்ப “std::setfill(‘0’)” ஐப் பயன்படுத்துவதன் மூலம் இதை அடையலாம். பைட் தரவின் ஹெக்ஸ் மதிப்புகளை அச்சிடுவது எப்படி என்பதைப் புரிந்துகொள்ள உதவும் ஒரு எடுத்துக்காட்டு பின்வருபவை:
##அடங்கும்
முழு எண்ணாக ( ) {
கையொப்பமிடப்படாத சார் பைட் டேட்டா = 0xAB;
std::cout << 'பைட் தரவின் ஹெக்ஸாடெசிமல் பிரதிநிதித்துவம்: '
<< std::setw ( 2 ) << std::setfill ( '0' ) << std:: hex << நிலையான_வார்ப்பு < முழு எண்ணாக > ( byteData )
<< std::endl;
திரும்ப 0 ;
}
இங்கே, “std::setw(2)” என்பது ஒவ்வொரு பைட்டும் குறைந்தபட்ச அகலம் 2 எழுத்துக்களுடன் இருப்பதை உறுதிசெய்கிறது, மேலும் “std::setfill(‘0’)” என்பது அகலத்தை நிரப்புவதற்கு முன்னணி பூஜ்ஜியங்களைப் பயன்படுத்த வேண்டும் என்பதைக் குறிப்பிடுகிறது.
இந்த முன்னர் கொடுக்கப்பட்ட நிரல் குறிப்பிட்ட வடிவமைப்புடன் C++ இல் ஹெக்ஸாடெசிமல் மதிப்பை அச்சிடுவதற்கான மேம்பட்ட அணுகுமுறையை நிரூபிக்கிறது. ஒரு சிறந்த புரிதலைப் பெற அதை உடைப்போம்:
தலைப்புகள்
முக்கிய செயல்பாடு
முக்கிய செயல்பாட்டில், கையொப்பமிடப்படாத “byteData = 0xAB;” char என்பது 'byteData' என்ற கையொப்பமிடப்படாத சார் மாறியை அறிவிக்கிறது மற்றும் அதற்கு “0xAB” இன் ஹெக்ஸாடெசிமல் மதிப்பை ஒதுக்குகிறது. “std::cout << “பைட் தரவின் ஹெக்ஸாடெசிமல் பிரதிநிதித்துவம்: “:” அறிக்கையானது அவுட்புட் ஸ்ட்ரீமைப் பயன்படுத்தி கன்சோலுக்கு செய்தியை வெளியிடுகிறது.
“<< std::setw(2) << std::setfill(‘0’) << std::hex << static_cast
std::setw(2): இது குறைந்தபட்ச வெளியீட்டு அகலத்தை 2 எழுத்துகளாக அமைக்கிறது.
std::setfill(‘0’): குறைந்தபட்ச அகலத்தை அடையத் தேவையான எந்த பேடிங்கையும் “0” எழுத்துடன் நிரப்ப வேண்டும் என்று இது குறிப்பிடுகிறது.
std::hex: அடுத்த மதிப்பை ஹெக்ஸாடெசிமல் என விளக்குமாறு ஸ்ட்ரீமிடம் கூறுகிறது.
static_cast
std::endl: இது அச்சிட்ட பிறகு புதிய வரி எழுத்தைச் செருகும்.
கன்சோலில் அச்சிடப்பட்ட இந்த நிரலின் வெளியீடு பின்வரும் துணுக்கில் காட்டப்பட்டுள்ளது:
முடிவுரை
C++ இல் ஹெக்ஸாடெசிமல் மதிப்புகளை அச்சிடுவது, கிடைக்கக்கூடிய கருவிகளைப் புரிந்துகொள்வது மற்றும் குறிப்பிட்ட தேவைகளின் அடிப்படையில் பொருத்தமான முறையைத் தேர்ந்தெடுப்பது. நீங்கள் 'std::hex' மேனிபுலேட்டர், 'printf' செயல்பாடு அல்லது திணிப்பு மற்றும் முன்னணி பூஜ்ஜியங்களுக்கான வடிவமைப்புக் கருவிகளின் கலவையைத் தேர்வுசெய்தாலும், எந்த C++ புரோகிராமருக்கும் இந்த நுட்பங்களைப் பற்றிய உறுதியான புரிதல் அவசியம். இந்த முறைகளை கவனமாகப் பயன்படுத்துவதன் மூலம், உங்கள் ஹெக்ஸாடெசிமல் மதிப்புகள் துல்லியமாகவும் பார்வைக்கு ஈர்க்கும் வடிவமைப்பிலும் காட்டப்படுவதை உறுதிசெய்யலாம், இது உங்கள் C++ குறியீட்டின் ஒட்டுமொத்த வாசிப்புத்திறனுக்கும் தெளிவுக்கும் பங்களிக்கிறது.