தரவு மற்றும் வழிமுறைகளைப் பிரதிநிதித்துவப்படுத்த கணினி அமைப்புகள் அடிக்கடி பைனரி எண்களைப் பயன்படுத்துகின்றன, ஆனால் தசம இலக்கங்கள் பைனரியை விட மக்கள் புரிந்துகொள்வதற்கு எளிமையாக இருப்பதால், மாற்றம் தேவைப்படுகிறது. இந்த கட்டுரை தசமங்களை பைனரியாகப் புரிந்துகொள்வதுடன், சி எனப்படும் நிரலாக்க மொழியில் தசமங்களை பைனரியாக மாற்றும் வெவ்வேறு முறைகளின் நிரல் எடுத்துக்காட்டுகளை வழங்கும்.
C இல் தசமத்தை பைனரியாக மாற்றுவது எப்படி?
கொடுக்கப்பட்ட தசம மதிப்பு 2 ஆல் பல முறை வகுக்கப்படுகிறது, மீதமுள்ளவை 0 ஐ இறுதிக் குறியீடாகப் பெறும் வரை பதிவு செய்யப்படும். முழு எண்களை தசமத்திலிருந்து பைனரிக்கு மாற்ற இந்த செயல்முறை பயன்படுத்தப்படுகிறது. தசமத்திலிருந்து பைனரிக்கு மாற்றும் செயல்முறையை நிரூபிக்கும் சூத்திரம் பின்வரும் நிலைகளாகக் கருதப்படுகிறது:
படி 1: எண்ணை 2 ஆல் வகுப்பதன் மூலம் மீதமுள்ளதைக் கண்டறியவும், பின்னர் அதை ஒரு வரிசையில் சேர்க்கவும்.
படி 2: அடுத்து, மீதியை இரண்டால் வகுக்கவும்.
படி 3: முடிவு 0 ஐத் தாண்டும் வரை முதல் இரண்டு படிகளை மீண்டும் செய்யவும்.
படி 4: எண்ணின் பைனரி படிவத்தைப் பெற, வரிசையை பின்னோக்கிக் காட்டவும். பைனரி எண்ணின் குறைந்த-குறிப்பிடத்தக்க-பிட் (LSB) மேலே உள்ளது, அதேசமயம் மிக முக்கியமான-பிட் (MSB) கீழ் நோக்கி உள்ளது, இது இதை விளக்குவதற்கான மற்றொரு வழியாகும். வழங்கப்பட்ட தசம எண்ணுக்கு இணையான பைனரி இதுவாகும்.
இதை நன்றாகப் புரிந்துகொள்ள, 11 இன் மாற்றத்தை இங்கே பார்க்கலாம் 10 தசமத்தில் இருந்து பைனரி மாற்றம்:
2 ஆல் பிரிவு | அளவுகோல் | மீதி |
11÷2 | 5 | 1 (LSB) |
5 ÷ 2 | 2 | 1 |
2-2 | 1 | 0 |
1-2 | 0 | 1 (MSB) |
இப்போது, மீதியை தலைகீழ் வரிசையில் எழுதுங்கள், எனவே, தசம (11 10 ) ஆகிறது (1011 2 )
எஞ்சியவை குறியிட்டு, பின்னர் பைனரி எண்ணின் (MSB) முதலில் வரும்படி எழுதப்படும். இதன் விளைவாக, 1011 2 கொடுக்கப்பட்ட தசம மதிப்பு 11 க்கு பைனரி சமமானதாகும் 10 . இதன் விளைவாக, 11 10 = 1011 2 . சி மொழியில் மேலே குறிப்பிடப்பட்ட தசமத்தை பைனரி மாற்றமாக செயல்படுத்துவது பின்வருமாறு.
தசமத்தை பைனரியாக மாற்றப் பயன்படும் முறைகள்
சி மொழியில் பயன்படுத்தப்படும் இந்த முறைகள் தசம இலக்கங்களை பைனரியாக மாற்றுகின்றன:
இப்போது, மேற்கூறிய அணுகுமுறைகள் மூலம் தசமங்களை பைனரி ஒன்றுகளாக மாற்றுவதை செயல்படுத்தவும்.
முறை 1: லூப் உடன் சி நிரலாக்கத்தில் தசமத்திலிருந்து பைனரி வரை
C இல் for-loop உதவியுடன் தசம இலக்கத்தை (11) பைனரியாக மாற்றுவது கீழே உள்ளது:
#வெற்றிடமாக மாற்றுதல் ( முழு எண் 1 ) {
என்றால் ( எண்1 == 0 ) {
printf ( '0' ) ;
திரும்ப ;
}
int பைனரி_எண் [ 32 ] ; // அனுமானிக்கிறேன் 32 பிட் முழு எண்.
முழு எண்ணாக நான் = 0 ;
க்கான ( ;எண்1 > 0 ; ) {
பைனரி_எண் [ நான்++ ] = எண்1 % 2 ;
எண்1 / = 2 ;
}
க்கான ( int j = i- 1 ; ஜே > = 0 ; j-- )
printf ( '%d' , பைனரி_எண் [ ஜே ] ) ;
}
முழு எண்ணாக ( ) {
முழு எண் 1;
printf ( 'ஒரு தசம எண்ணை உள்ளிடவும்:' ) ;
ஸ்கேன்எஃப் ( '%d' , & எண்1 ) ;
மாற்றவும் ( எண்1 ) ;
திரும்ப 0 ;
}
பயனர் வழங்கிய தசம எண்ணை பைனரியாக மாற்ற மேலே உள்ள நிரல் for loop ஐப் பயன்படுத்துகிறது. வெளியீடு:
முறை 2: அதே லூப் உடன் சி நிரலாக்கத்தில் தசமத்திலிருந்து பைனரி வரை
இந்த முறையில், கீழே காட்டப்பட்டுள்ளபடி, தசம இலக்கத்தை (11) பைனரியாக மாற்ற C இல் இருக்கும் போது-லூப் பயன்படுத்தப்படுகிறது:
#முழு எண்ணாக ( ) {
int decimal_num, binary_num = 0 , அடிப்படை = 1 , மீதி;
printf ( 'ஒரு தசம எண்ணை உள்ளிடவும்:' ) ;
ஸ்கேன்எஃப் ( '%d' , & தசம_எண் ) ;
போது ( தசம_எண் > 0 ) {
மீதி = தசம_எண் % 2 ;
பைனரி_எண் = பைனரி_எண் + மீதி * அடித்தளம்;
decimal_number = decimal_number / 2 ;
அடிப்படை = அடிப்படை * 10 ;
}
printf ( 'while loop உடன் கொடுக்கப்பட்ட தசம எண்ணின் பைனரி: %d' , பைனரி_எண் ) ;
திரும்ப 0 ;
}
நான்கு முழு எண் மாறிகள் decimal_num, binary_num, base மற்றும் மீதமுள்ளவை இந்த நிரலில் முதலில் அறிவிக்கப்படுகின்றன. பயனர் ஒரு decimal_num ஐ உள்ளிடுகிறார், அதை நாம் அதன் binary_num ஆக மாற்றுவோம். பைனரி மாற்றம் while loop ஐப் பயன்படுத்தி மேற்கொள்ளப்படுகிறது.
முறை 3: ஸ்டாக்குடன் கூடிய சி நிரலாக்கத்தில் தசமத்திலிருந்து பைனரி வரை
இது ஒரு தசம மதிப்பை பைனரியாக மாற்றும் அடுக்கு அடிப்படையிலான C நிரலுடன் கூடிய நேரடியான முறையாகும்:
#பைனரி பிரதிநிதித்துவத்தில் MAX_SIZE 32 // அதிகபட்ச எண்ணிக்கையிலான பிட்களை வரையறுக்கவும்
முழு எண்ணாக ( ) {
int decimal_num, binary [ MAX_SIZE ] , மேல் = -1 ;
printf ( 'தயவுசெய்து ஏதேனும் தசம-எண்ணை உள்ளிடவும்:' ) ;
ஸ்கேன்எஃப் ( '%d' , & தசம_எண் ) ;
போது ( தசம_எண் > 0 ) {
பைனரி [ ++மேல் ] = தசம_எண் % 2 ;
தசம_எண் / = 2 ;
}
printf ( 'ஸ்டாக் முறையைப் பயன்படுத்தும் %d இன் பைனரி: ' ) ;
போது ( மேல் > = 0 ) {
printf ( '%d' , பைனரி [ மேல்-- ] ) ;
}
திரும்ப 0 ;
}
இந்த நிரலில் முதலில் மூன்று முழு எண் மாறிகள் மேல், பைனரி மற்றும் தசம_எண் ஆகியவற்றை அறிவிக்கிறோம். மேல் என்பது அடுக்கில் உள்ள உயர்ந்த தனிமத்தின் குறியீடாகும், தசமம் என்பது பயனரால் உள்ளிடப்படும் தசம வடிவத்தில் உள்ள எண், பைனரி என்பது பைனரியில் உள்ள பிட்களை MAX_SIZE பிட்களாகக் கொண்டிருக்கும் மற்றும் decimal_num என்பது பைனரி அணிவரிசையாகும். அதன் பிறகு, பைனரி மாற்றம் சிறிது நேர வளையத்தைப் பயன்படுத்தி மேற்கொள்ளப்படுகிறது.
வெளியீடு:
முறை 4: பிட்வைஸ் ஆபரேட்டருடன் சி நிரலாக்கத்தில் தசமத்திலிருந்து பைனரி வரை
பிட்வைஸ் ஆபரேஷன் எனப்படும் ஒரு ஆபரேட்டர் முழு எண்களைக் குறிக்கும் பைனரி குறியீடுகளின் ஒவ்வொரு பிட்களையும் கையாளுகிறது. பின்வருபவை அடிப்படை சி ஸ்கிரிப்ட் ஆகும், இது தசமங்களில் உள்ள எண்ணை பைனரியாக மொழிபெயர்க்க பிட்வைஸ் செயல்பாடுகளைப் பயன்படுத்துகிறது:
#// இந்த முறை அனைத்தையும் காண்பிக்கும் 4 ஒரு எண்ணின் பிட்கள்
வெற்றிட மாற்றம் ( முழு எண் 1 ) {
// கருத்தில் கொள்ள a 4 -பிட் எண்
க்கான ( int i = 3 ; நான் > = 0 ; நான்-- ) {
int bit = ( 1 << நான் ) ;
என்றால் ( எண்1 & பிட் )
printf ( '1' ) ;
வேறு
printf ( '0' ) ;
}
}
முழு எண்ணாக ( ) {
முழு எண் 1;
printf ( 'ஒரு தசம எண்ணை உள்ளிடவும்:' ) ;
ஸ்கேன்எஃப் ( '%d' , & எண்1 ) ;
மாற்றம் ( எண்1 ) ;
திரும்ப 0 ;
}
இந்த நிரல், மிக முக்கியமான பிட்டில் தொடங்கி, குறைந்த முக்கியத்துவத்துடன் பிட்டில் முடிவடையும் எண்ணின் மூலம் ஒரு லூப்பை இயக்கும். முகமூடி மற்றும் எண்ணில் 'பிட்வைஸ் மற்றும்' செயல்பாட்டைச் செய்வதன் மூலம், பிட் 0 அல்லது 1 என்பதை நாம் தீர்மானிக்கலாம். அது பூஜ்யம் அல்லாதது என்றால், தற்போதைய பிட் 1; இல்லையெனில், அது 0 ஆகும்.
num1 இன் பைனரி வடிவத்தைக் காட்ட, ஒவ்வொரு மறு செய்கைக்குப் பிறகும் பிட்டை வெளியிடவும். முழுமையான செயலாக்கத்திற்குப் பிறகு இறுதி வெளியீடு பின்வருமாறு இருக்கும்:
முடிவுரை
கணினி நிரலாக்கத்தில் எண்களை தசமத்திலிருந்து பைனரிக்கு மாற்றுவது இன்றியமையாத திறமையாகும். தசம எண்களை பைனரியாக மாற்றுவது C நிரலாக்கத்தில் பல்வேறு செயல்பாடுகளை மேற்கொள்ள உதவுகிறது. இந்த கட்டுரை தசம மதிப்புகளை பைனரி மதிப்புகளாக மாற்ற 4 முறைகளை வழங்குகிறது.