%ul மற்றும் %lu C வடிவமைப்பு விவரக்குறிப்புகளுக்கு இடையே உள்ள வேறுபாடு என்ன?

Ul Marrum Lu C Vativamaippu Vivarakkurippukalukku Itaiye Ulla Verupatu Enna



முறையான பயன்பாடு வடிவம் குறிப்பான்கள் சி மொழியில் வெற்றிகரமான நிரலாக்கத்தின் முக்கிய அங்கமாகும். ஏன் என்று தெரிந்து கொள்ள வேண்டும் என்பதை இது விளக்குகிறது %ul மற்றும் %lu வடிவம் குறிப்பான்கள் வேறுபடுகின்றன. இந்த இரண்டிற்கும் இடையே உள்ள வேறுபாட்டைப் புரிந்துகொள்வது மிகவும் முக்கியமானது, ஏனெனில் ஒரு புரோகிராமர் கணினி சூழலுடன் எவ்வாறு தொடர்பு கொள்கிறார் என்பதை இது மாற்றுகிறது, மேலும் இந்த வடிவமைப்பு குறிப்பான்கள் தவறாகப் பயன்படுத்தப்படும்போது சாத்தியமான பிழைகள் ஏற்படலாம்.

%ul மற்றும் %lu வடிவமைப்பு விவரக்குறிப்புகள் என்றால் என்ன?

தொடங்குவதற்கு, இரண்டையும் கவனிக்க வேண்டியது அவசியம் %ul மற்றும் %lu வடிவம் குறிப்பான்கள் C இல் நிரலாக்கத்தின் போது பயன்படுத்தப்படும் மற்றும் அவை இரண்டும் கையொப்பமிடப்படாத நீண்ட தரவு வகைகளைக் குறிக்கின்றன. இருப்பினும், கடிதங்களின் நிலை ' எல் 'மற்றும்' உள்ளே ” வேறுபடுகிறது. கடிதங்கள் ' உள்ளே 'மற்றும்' எல் ' நிற்க ' கையொப்பமிடாத 'மற்றும்' நீளமானது ,' முறையே. உத்தேசிக்கப்பட்ட வாதத்தின் வகை இந்த எழுத்துக்களின் வரிசையால் தீர்மானிக்கப்படுகிறது. ' %in ” என்பது பயன்படுத்தப்படும் எழுத்து அல்லது சரம் கையொப்பமிடப்படாத தரவு வகையைக் கொண்டுள்ளது என்பதைக் குறிக்கிறது முழு எண்ணாக போது ' %l ” பகுதி கையொப்பமிடப்படாத நீண்ட தரவு வகை என்று குறிப்பிடுகிறது. வேறு வார்த்தைகளில் கூறுவதானால், %ul கையொப்பமிடப்படாத நீண்ட தரவு வகையைக் குறிக்கிறது %lu அதையே குறிக்கிறது ஆனால் கூடுதல் ' நீளமானது ” அளவு மாற்றி.

இதன் விளைவாக, நீங்கள் பயன்படுத்தினால் %ul கையொப்பமிடப்படாத நீண்ட முழு எண்ணாக இல்லாத மாறியில், நீங்கள் பின்னொட்டைப் பெறலாம் எல் வெளியீட்டின் முடிவில். ஒரு குறிப்பிட்ட தரவு வகையுடன் ஒரு மாறியை அச்சிட முயற்சிக்கும் போது, ​​பொருத்தமான வடிவமைப்பு விவரக்குறிப்பைப் பயன்படுத்துவது மிகவும் முக்கியமானது.







எப்படி என்பதைக் காட்டும் சில மாதிரி குறியீடு இங்கே %ul மற்றும் %lu வடிவமைப்பு குறிப்பான்கள் வேறுபடுகின்றன:



C இல் %ul வடிவமைப்பு விவரக்குறிப்பு

# அடங்கும்

முழு எண்ணாக ( ) {
கையொப்பமிடாத நீண்ட எண்ணாக நான் = 1234567890 ;
printf ( '%%ul வடிவமைப்பு விவரக்குறிப்பைப் பயன்படுத்துதல்: %ul \n ' , நான் ) ;
திரும்ப 0 ;
}

மேலே உள்ள குறியீட்டில், மாறியை வரையறுக்கிறோம் நான் கையொப்பமிடப்படாத நீண்ட முழு எண்ணாக மற்றும் அதை துவக்கவும் 1234567890 . தி printf கட்டளை பின்னர் பயன்படுத்துகிறது %ul மதிப்பை அச்சிட வடிவமைப்பு குறிப்பான் நான் . ஏனெனில் வெறும் %in குறிப்பான் மற்றும் எல் வடிவமைப்பிற்கு வெளியே உள்ளது, அது பின்னொட்டுடன் எண்ணை அச்சிடும் எல் முடிவில்.



வெளியீடு





C இல் %lu வடிவமைப்பு குறிப்பான்

# அடங்கும்

முழு எண்ணாக ( ) {
கையொப்பமிடாத நீண்ட எண்ணாக நான் = 1234567890 ;
printf ( '%%lu வடிவமைப்பு விவரக்குறிப்பைப் பயன்படுத்துதல்: %lu \n ' , நான் ) ;
திரும்ப 0 ;
}

மேலே உள்ள குறியீட்டில், கையொப்பமிடப்படாத நீண்ட முழு எண் மாறி நான் அறிவிக்கப்பட்டு 1234567890 க்கு துவக்கப்பட்டு பின்னர் அச்சிடப்பட்டது %lu வடிவம் குறிப்பான்.

வெளியீடு



C இல் %ul மற்றும் %lu வடிவமைப்புக் குறிப்பான் இடையே உள்ள வேறுபாடுகள்

1: மதிப்புகளின் வரம்பு

இடையே உள்ள முக்கிய வேறுபாடு %ul மற்றும் %lu அவை பிரதிநிதித்துவப்படுத்த எதிர்பார்க்கப்படும் மதிப்புகளின் வரம்புடன் தொடர்புடையது. C இல் நிரலாக்கம் செய்யும் போது, ​​கையொப்பமிடப்படாத நீண்ட தரவு வகை மற்ற தரவு வகைகளிலிருந்து வேறுபட்ட வடிவமைப்பைப் பயன்படுத்துகிறது, இதில் கையொப்பமிடப்படாத முழு தரவு வகையும் அடங்கும். ஒரு 32-பிட் எண்ணுக்கு அதன் மதிப்பைச் சேமிக்க 32 பிட் நினைவகம் மட்டுமே தேவைப்படுகிறது, அதேசமயம் கையொப்பமிடப்படாத நீளத்திற்கு ஒரே மாதிரியான தரவுகளுக்கு 64 பிட்கள் தேவைப்படுகிறது, இதனால் ஒரு எண்ணை விட குறிப்பிடத்தக்க வரம்பைக் கொண்டுள்ளது. இதற்கு அர்த்தம் அதுதான் %ul 0 முதல் +2^32-1 வரையிலான மதிப்புகளை ஏற்கும் %lu குறிப்பான் 0 முதல் +2^64-1 வரையிலான மதிப்புகளை ஏற்கும்.

2: துல்லியம்

அவர்கள் பிரதிநிதித்துவப்படுத்த எதிர்பார்க்கப்படும் மதிப்புகளின் துல்லியத்திலும் வேறுபாடு உள்ளது. உடன் %ul ஸ்பெசிஃபையர், ஒரு புரோகிராமர் 2^32-1 வரையிலான மதிப்புகளை மட்டுமே குறிப்பிட முடியும். %lu குறிப்பான் 2^64-1 வரையிலான மதிப்புகளைக் குறிக்கும். இது முதல் பார்வையில் பெரிய வித்தியாசமாகத் தெரியவில்லை என்றாலும், முடிவுகளின் துல்லியத்தை மறைமுகமாக பாதிக்கலாம். எடுத்துக்காட்டாக, +2^64 வரம்பைக் கொண்ட மதிப்பைச் சேமிக்க வடிவமைக்கப்பட்ட ஒரு நிரல் பயன்படுத்தும் போது பிழைகள் ஏற்படும். %ul குறிப்பான்கள் ஏனெனில் அவர்கள் விரும்பிய வடிவத்தில் தரவைச் சேமிக்க முடியாது, இதனால் துல்லியம் இழக்க நேரிடும்.

3: நினைவகம்

இறுதியாக, %ul மற்றும் %lu நினைவகத்தைப் பயன்படுத்துவதில் வேறுபடுகின்றன. தி %ul குறிப்பான் தரவுக்கு 32 பிட் நினைவகம் தேவைப்படுகிறது %lu அதே வகையான தரவுகளுக்கு 64 பிட்கள் தேவை, அதாவது %lu நினைவகத்தை விட இரண்டு மடங்கு அதிகமாகும் %ul . சிறிய, குறைந்த அளவிலான நிரல்களில் இது ஒரு பெரிய வித்தியாசமாகத் தெரியவில்லை, ஆனால் ஒரு நிரலின் நினைவக பயன்பாடு பெரும்பாலும் சிக்கலான தன்மையுடன் அதிகரிப்பதால் இது விரைவாக நிர்வகிக்க முடியாததாகிவிடும், அதாவது %lu பெரிய அளவிலான பயன்பாடுகளைக் கையாளும் போது சிறந்ததல்ல.

4: வடிவம்

பயன்படுத்தும் போது வெளியீட்டின் சரியான வடிவமைப்பைப் புரிந்துகொள்வது அவசியம் %ul அல்லது %lu . குறிப்பாக, தி %ul வடிவமைப்பு குறிப்பான் எப்போதும் முழு எண்ணை 8 இலக்க ஹெக்ஸாடெசிமல் மதிப்பாக வெளியிடும் %lu வடிவமைப்பு குறிப்பான் முழு எண்ணை 8 இலக்க தசம மதிப்பாக வெளியிடுகிறது. அதாவது ஒரு முழு எண் ஹெக்ஸாடெசிமல் மதிப்பாக குறிப்பிடப்பட்டால், அது a ஆக அச்சிடப்பட வேண்டும் %ul அதேசமயம் முழு எண் தசம மதிப்பாகக் குறிப்பிடப்பட்டால், அது a ஆக அச்சிடப்பட வேண்டும் %lu .

இறுதி எண்ணங்கள்

இடையே உள்ள சரியான வேறுபாடுகளைப் புரிந்துகொள்வது அவசியம் %ul மற்றும் %lu சி மொழியுடன் பணிபுரியும் போது வடிவமைப்பு குறிப்பான்கள். அவை ஒத்ததாகத் தோன்றினாலும், முதன்மை வேறுபாடு அதுதான் %ul வடிவமைப்பிற்கு கையொப்பமிடப்படாத நீண்ட முழு எண் அளவுரு தேவைப்படுகிறது %lu வடிவம் நீண்ட கையொப்பமிடப்படாத முழு எண் உள்ளீட்டை எதிர்பார்க்கிறது. தி %ul வடிவமைப்பு குறிப்பான் எப்போதும் முழு எண்ணை 8 இலக்க ஹெக்ஸாடெசிமல் மதிப்பாக வெளியிடும் %lu வடிவமைப்பு குறிப்பான் முழு எண்ணை 8 இலக்க தசம மதிப்பாக வெளியிடுகிறது. இறுதியாக, கவனிக்க வேண்டியது அவசியம் %ul மற்றும் %lu ' என்ற வகையைக் கொண்ட மாறிகளுடன் பணிபுரியும் போது மட்டுமே வடிவமைப்பு குறிப்பான்களைப் பயன்படுத்த முடியும். நீளமானது ’.