C இல் பைனரி எண்களை தசம எண்களாக மாற்றுவது எப்படி என்பதை இந்த வழிகாட்டுதல் விவரிக்கும்.
நாம் கருத்திற்கு வருவதற்கு முன், C இல் பைனரி மற்றும் தசம எண்கள் என்ன என்பதைப் பார்ப்போம்.
C இல் பைனரி மற்றும் தசம எண் வடிவங்கள்
பைனரி எண்கள் இரண்டு இலக்கங்கள் 0 மற்றும் 1 ஆகியவற்றின் கலவையின் வடிவத்தில் குறிப்பிடப்படும் எண்கள், மேலும் அவை அடிப்படை 2 எண் அமைப்பு என குறிப்பிடப்படுகின்றன. மறுபுறம், தசம எண்கள் 0 முதல் 9 வரையிலான இலக்கங்களைக் கொண்ட அடிப்படை 10 எண்கள்.
இரண்டு என்று பொருள்படும் பைனரி என்ற பெயரில் நீங்கள் பார்ப்பது போல், 0 மற்றும் 1 ஆகிய இரண்டு இலக்கங்களின் கலவையில் எண்கள் இருந்தால், அவற்றை பைனரி எண்கள் என்று அழைக்கிறோம். இது அடிப்படை 2 எண் அமைப்பு என குறிப்பிடப்படுகிறது.
பைனரி எண்களை ஏன் C இல் தசமங்களாக மாற்ற வேண்டும்
0கள் மற்றும் 1களின் சாத்தியமான பல சேர்க்கைகள் காரணமாக பைனரி எண்களுடன் பணிபுரிவது டெவலப்பர்களுக்கு சவாலாக உள்ளது. மறுபுறம், தசம எண்கள் புரிந்துகொள்வதற்கும் செயலாக்குவதற்கும் எளிதானது, இது சி நிரல்களுக்கான வேகமான மற்றும் திறமையான முறையாகும். C இல் பைனரி எண்களை தசம எண்களாக மாற்றுவது, அனைத்து பைனரி இலக்கங்களையும் இரண்டின் பொருத்தமான சக்தியால் பெருக்கி முடிவுகளைச் சேர்ப்பதாகும், இது சுழல்களைப் பயன்படுத்தி செய்யப்படுகிறது.
C இல் பைனரியை தசமமாக மாற்ற ஒரு எளிய அல்காரிதம்
ஆறு எளிய படிகளைப் பயன்படுத்தி C இல் பைனரியை தசமமாக மாற்றுவதற்கான எளிய வழிமுறை இங்கே:
- பயனரிடமிருந்து ஒரு பைனரி எண்ணை உள்ளீடாக எடுத்துக் கொள்ளுங்கள்.
- ஒரு மாறி ‘தசமம்’ என்பதை 0 ஆகவும், மாறி ‘பேஸ்’ என்பதை 1 ஆகவும் துவக்கவும்.
- மாடுலஸ் ஆபரேட்டரை (%) பயன்படுத்தி பைனரி எண்ணின் வலதுபுற இலக்கத்தை பிரித்தெடுக்கவும், மேலும் இந்த இலக்கத்தின் பெருக்கத்தையும் அடித்தளத்தையும் தசம மாறியில் சேர்க்கவும்.
- அடிப்படை மாறியை 2 ஆல் பெருக்கவும்.
- முழு எண் பிரிவைப் பயன்படுத்தி பைனரி எண்ணிலிருந்து வலதுபுற இலக்கத்தை அகற்றவும் (/).
- அனைத்து இலக்கங்களும் செயலாக்கப்படும் வரை 3-5 படிகளை மீண்டும் செய்யவும்.
- 'தசம' மாறியில் சேமிக்கப்பட்ட பைனரி எண்ணின் தசம மதிப்பைக் காட்டவும்.
பைனரி எண்களை C இல் தசமங்களாக மாற்றவும்
பின்வருபவை சி நிரலாக்கத்தில் பைனரி எண்களை தசமமாக மாற்றுவதற்கான எளிய குறியீடு.
#
முழு எண்ணாக முக்கிய ( ) {
நீளமானது நீளமானது அ ;
printf ( 'தயவுசெய்து பைனரி எண்ணைச் செருகவும்:' ) ;
ஸ்கேன்எஃப் ( '%lld' , & அ ) ;
printf ( '%lld in binary = %d in the decimal' , அ , பைனரிடோடெசிமல் ( அ ) ) ;
திரும்ப 0 ; }
முழு எண்ணாக பைனரிடோடெசிமல் ( நீளமானது நீளமானது அ ) {
முழு எண்ணாக டிச = 0 , பி = 0 , ஆர் ;
போது ( அ != 0 ) {
ஆர் = அ % 10 ;
அ /= 10 ;
டிச += ஆர் * பவ் ( 2 , பி ) ;
++ பி ;
}
திரும்ப டிச ;
}
மேலே உள்ள குறியீட்டில், ஒரு உலகளாவிய செயல்பாடு பெயராக செய்யப்படுகிறது 'பைனரி டுடெசிமல்' . பின்னர் முக்கியமாக, நாம் ஒரு நீண்ட நீண்ட மாறியை அறிவிக்கிறோம் 'அ' மற்றும் பைனரி எண்ணைச் சேர்த்து, அதை தசமமாக மாற்றும்படி பயனரைக் கேட்கவும் 'பைனரி டுடெசிமல்' ஒரு அளவுருவுடன் செயல்பாடு. இல் 'பைனரி டுடெசிமல்' செயல்பாடு வரையறை, while loop மூலம் ஒரு தசம மாற்றம்.
வெளியீடு
நீங்கள் உள்ளமைக்கப்பட்ட ஒன்றையும் பயன்படுத்தலாம் strtol() சி நிரலாக்கத்தில் பைனரி எண்களை தசமங்களாக மாற்றும் செயல்பாடு.
அத்தகைய செயல்பாட்டிற்கான குறியீடு பின்வருமாறு:
##உள்படுத்து
முழு எண்ணாக முக்கிய ( ) {
கரி பைனரி_சரம் [ ] = '1110' ;
கரி * ptr ;
நீளமானது தசம_மதிப்பு ;
தசம_மதிப்பு = நொறுங்கியது ( பைனரி_சரம் , & ptr , 2 ) ;
printf ( 'பைனரி சரம்' % கள் ' என்பது தசம மதிப்பு %ld க்கு சமம். \n ' , பைனரி_சரம் , தசம_மதிப்பு ) ;
திரும்ப 0 ;
}
மேலே உள்ள குறியீடு பைனரி சரத்தை மாற்றுகிறது '1110' பயன்படுத்தி அதன் சமமான தசம மதிப்பில் strtol() சார்பு, இது பைனரி சரம், ஒரு சுட்டிக்கு ஒரு சுட்டி மற்றும் எண் அமைப்பின் அடிப்படையை வாதங்களாக எடுத்துக்கொள்கிறது. இறுதியாக, இது பயன்படுத்தி கன்சோலில் முடிவை அச்சிடுகிறது printf().
வெளியீடு
முடிவுரை
பைனரியுடன் ஒப்பிடும்போது மனிதர்கள் தசம எண்களை நன்கு அறிந்திருப்பதால், அவற்றை நிர்வகிப்பது கடினம் என்பது நமக்குத் தெரியும். தசம இலக்கங்கள் அடிப்படை 10 இல் இருப்பதால் எண்கணித செயல்பாடுகளைச் செய்வது எளிதானது மற்றும் பைனரி இலக்கங்களுடன் ஒப்பிடும்போது அவற்றின் செயலாக்கம் வேகமானது, எனவே பைனரி எண்கள் தசமங்களாக மாற்றப்படுகின்றன. பயனரால் வரையறுக்கப்பட்ட செயல்பாடுகள் மற்றும் உள்ளமைக்கப்பட்ட சி நிரலுடன் பைனரி எண்களை தசம எண்களாக மாற்றுவதை மேலே உள்ள கண்ணோட்டம் விளக்கியுள்ளது. strtol() செயல்பாடு.