1000100B - 1 போன்ற பைனரி எண்களுக்கான குறியீடு

"வணக்கம், அமிகோ!"

"வணக்கம், பிலாபோ!"

"வெவ்வேறு எண் அமைப்புகளைப் பற்றி நான் உங்களுக்குச் சொல்ல விரும்புகிறேன்."

"மக்கள் தசம முறையைப் பயன்படுத்துகிறார்கள் என்று நீங்கள் ஏற்கனவே கேள்விப்பட்டிருக்கிறீர்கள். இந்த அமைப்பின் முக்கிய உண்மைகள் இங்கே:

1)  எண்களை எழுத 10 இலக்கங்கள் பயன்படுத்தப்படுகின்றன: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

2)  எண் 543 என்பது 5 நூறுகள் + 4 பத்துகள் + 3 ஒன்றைக் குறிக்கிறது.

"இது 5*100 + 4*10 + 3*1 என்று எழுதுவதற்கு சமம், இதை 5*10 2 + 4*10 1 + 3*10 0 என எழுதலாம் .

ஆயிரக்கணக்கான, நூற்றுக்கணக்கான, பத்து மற்றும் ஒன்று ஆகியவை எண் 10 இன் சக்திகள் என்பதை நினைவில் கொள்க.

1) ஒன்று பூஜ்ஜிய சக்திக்கு 10 ஆகும்.

2)  பத்து என்பது முதல் அதிகாரத்திற்கு 10 ஆகும்.

3) நூறு என்பது இரண்டாவது சக்திக்கு 10 ஆகும்.

4)  மூன்றாவது அதிகாரத்தில் ஆயிரம் என்பது 10, முதலியன.

"ஆம். புரிந்தது."

"ஆனால் இப்போது எங்களிடம் 8 இலக்கங்கள் மட்டுமே உள்ளன என்று கற்பனை செய்து பாருங்கள். பின்னர் எங்களிடம் எண்ம அமைப்பு உள்ளது. அதன் முக்கிய உண்மைகள் இங்கே:"

1)  எண்களை எழுத 8 இலக்கங்கள் பயன்படுத்தப்படுகின்றன: 0, 1, 2, 3, 4, 5, 6, 7.

2)  எண் 543 8 என்பது 5*8 2 +4*8 1 +3*8 0 . வேறு வார்த்தைகளில் கூறுவதானால், இது 5*64 + 4*8 + 3*1 = 320+32+3 = 320+32+3=355 10

எண்ணைக் குறிக்க எத்தனை இலக்கங்கள் பயன்படுத்தப்படுகின்றன என்பதைக் குறிக்க 8 மற்றும் 10 ஐ சப்ஸ்கிரிப்ட்களாக எழுதினேன்.

"எனக்குப் புரிந்திருக்கும் என்று நினைக்கிறேன். எண்ணை ஆக்டல் அமைப்பிலிருந்து தசமமாக மாற்றலாம் என்று நினைக்கிறேன். ஆனால் என்னால் வேறு வழியில் செல்ல முடியவில்லை."

"இது அவ்வளவு கடினம் அல்ல. மணல் குவியலை நகர்த்துவதற்கு நீங்கள் பல லாரிகளைப் பயன்படுத்த வேண்டும் என்று கற்பனை செய்து பாருங்கள். உங்களிடம் டம்ப் லாரிகள், சாதாரண லாரிகள் மற்றும் மிகச் சிறிய லாரிகள் உள்ளன. ஆனால் அவை நிரம்பவில்லை என்றால் லாரிகள் செல்ல முடியாது."

"நீங்கள் அதை எப்படி செய்வீர்கள்?"

"முதலில், டம்ப் லாரிகள் மிகப்பெரியவை என்பதால், அவற்றை நிரப்புவேன். பிறகு, லாரியில் நிரப்ப போதுமான மணல் இல்லாததைக் கண்டதும், சிறிய வாகனங்களுக்கு மாறுவேன். பின்னர் சிறிய வாகனங்களுக்கு மாறுவேன்."

"இது உண்மையில் இங்கே மிகவும் ஒத்திருக்கிறது. 355 10 என்ற எண்ணை மீண்டும் ஆக்டலுக்கு மாற்ற முயற்சிப்போம் ."

"முதலில், நாம் அதை 64 (8 2 ) ஆல் வகுத்து, 35 இன் மீதியுடன் 5 ஐப் பெறுகிறோம். இதன் பொருள் நமது எண்ணின் முதல் இலக்கம் 5 ஆகும். பின்னர் மீதியை 8 (8 1 ) ஆல் வகுத்து, மீதியுடன் 4 ஐப் பெறுகிறோம். இன் 3. இவ்வாறு, நாம் 543 8 என்ற எண்ணைப் பெறுகிறோம் .

"அப்படியானால், நீங்களும் வேறு திசையில் செல்லலாம். எல்லாவற்றிற்கும் மேலாக, 543 8 == 5*64+4*8+3 == ((5)*8+4)*8+3. எங்கள் எண் "பத்துகள் "மற்றும் "நூறுகளை" 8 ஆல் வகுக்க வேண்டும். எனவே, 8 ஆல் வகுத்தலின் மீதியானது நமது எண்ம இலக்கங்களாக இருக்கும்."

"முதலில், 355 ஐ 8 ஆல் வகுப்போம். மீதமுள்ள 3 உடன் 44 ஐப் பெறுகிறோம். அதாவது, 355=44*8+3. மேலும் 44 ஐ 5*8+4 எனக் குறிப்பிடலாம். இதனால், 355= (5*8+ 4)*8+3; இதோ எங்கள் இலக்கங்கள்: 5, 4, 3. நாங்கள் தேடும் எண் 543 8 ."

"எனக்கு கிடைத்தது என்று நினைக்கிறேன், ஆனால் எல்லாவற்றையும் புரிந்து கொள்ள நான் கொஞ்சம் பயிற்சி செய்ய வேண்டும்."

"நிரலாக்கத்தில் பெரும்பாலும் வெவ்வேறு அடிப்படைகளைக் கொண்ட எண்களைப் பயன்படுத்துகிறது (அதாவது எண் அமைப்பில் பயன்படுத்தப்படும் இலக்கங்களின் எண்ணிக்கை). மிகவும் பிரபலமானவை 2, 8, 10, 16 மற்றும் 64 ஆகும்."

"ஆனால் இது ஏன் அவசியம்? 2, 8, 16 அல்லது 64 இலக்கங்களால் குறிப்பிடப்படும் எண்கள் நமக்கு ஏன் தேவை?"

"செயலி எவ்வாறு உள்நாட்டில் இயங்குகிறது என்பதைப் பற்றியது. மிக எளிமையாக, கம்பி வழியாக மின்னோட்டம் பாய்ந்தால், அதன் மதிப்பு 1 என்றும், மின்னோட்டம் இல்லை என்றால், அதன் மதிப்பு 0 என்றும் கூறுகிறோம். அனைத்து எண்களும் நினைவக செல்களில் சேமிக்கப்படும். இவை செல்கள் மிக அடிப்படையான வடிவமைப்பைக் கொண்டுள்ளன. மேலும் அவை 0 அல்லது 1ஐ மட்டுமே சேமிக்க முடியும்."

"ஆனால் இத்தகைய எளிமைப்படுத்தல் (0 அல்லது 1 மட்டுமே) செயலியின் உள்ளே உள்ள கூறுகளையும் நினைவகத்தையும் மிகச் சிறியதாக மாற்றியது. நவீன செயலிகள் மற்றும் நினைவக தொகுதிகள் பில்லியன் கணக்கான வெவ்வேறு கூறுகளை உள்ளடக்கியது. மேலும் அவற்றின் பரப்பளவு பெரும்பாலும் ஒரு சதுர சென்டிமீட்டருக்கு மேல் இருக்காது."

"ஐயோ. இப்ப தெரிஞ்சுது."

"இப்போது நாம் பைனரி எண்களுக்குத் திரும்புகிறோம். இங்கு ஆக்டலில் உள்ளதைப் போன்றே உள்ளது, எளிதானது."

1)  எண்களை எழுத 2 இலக்கங்கள் பயன்படுத்தப்படுகின்றன: 0, 1.

2)  எண் 101 2 என்றால் 1*2 2 + 0*2 1 + 1*2 0 . வேறு வார்த்தைகளில் கூறுவதானால், இது 1*4+0*2+1*1 =4+1=51 10

ஆம் "

"சரியாக. பைட் என்பது எட்டு பிட்களின் குழுவாகும். இது பின்வரும் மதிப்புகளை சேமிக்க முடியும்: 00000000, 00000001, ... 11111111. இந்த மதிப்புகள் தசம எண்களான 0,1, ... 255 உடன் ஒத்திருக்கும். இது நமக்கு மொத்தம் 256 மதிப்புகள்."

ஜாவாவில் மிகப்பெரிய முழு எண் என்ன? அல்லது அதன் வகை என்ன?

"ஒரு நீளமானது. நீளமானது 8 பைட்டுகளைக் கொண்டுள்ளது. வேறுவிதமாகக் கூறினால், 64 பிட்கள். இது -2 63 முதல் 2 63 -1 வரையிலான மதிப்புகளைச் சேமிக்கும் .

"ஆமாம். எண்களை தசமத்தில் இருந்து பைனரிக்கு அல்லது அதற்கு நேர்மாறாக மாற்றுவது எப்படி என்பதை நான் தொடமாட்டேன். இல்லையெனில், பாடம் மிக நீளமாக இருக்கும்."

"அதற்கு பதிலாக, ஹெக்ஸாடெசிமல் அமைப்பு பற்றி இன்னும் கொஞ்சம் பேசலாம்."

"ஆம், இது மிகவும் சுவாரஸ்யமானது. பைனரி மற்றும் ஆக்டல் அமைப்புகளுக்கு, முறையே இரண்டு மற்றும் எட்டில் தொடங்கி இலக்கங்களை வெறுமனே அகற்றிவிட்டோம். ஆனால் நாம் இங்கே என்ன செய்வது? புதிய இலக்கங்களைச் சேர்ப்பதா?"

"சரியாக! இதைப் பாருங்கள்:"

1) எண்களை எழுத 16 இலக்கங்கள் பயன்படுத்தப்படுகின்றன: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

2) எண் 543 16 என்பது 5*16 2 + 4*16 1 + 3*16 0 . வேறு வார்த்தைகளில் கூறுவதானால், இது 5*256+4*16+3*1 = 1280+64+3 = 1347 10

"எனவே, நாங்கள் எழுத்துக்களை இலக்கங்களாகச் சேர்த்தோமா? O_o"

"ஆமாம். என்ன பெரிய விஷயம்? கடிதங்கள் நன்றாக வேலை செய்யும் போது புதிய எண்களை ஏன் கண்டுபிடிப்பது? அதைச் சரிபார்க்கவும்:"

ஹெக்ஸாடெசிமல் இலக்கம் தசம மதிப்பு
0 0
1 1
8 8
9 9
10
பி 11
சி 12
டி 13
14
எஃப் 15

"நான் தசமத்திலிருந்து ஹெக்ஸாடெசிமலுக்கு மாற்றுவது பற்றி பேசப்போவதில்லை. ஆனால் இங்கே ஒரு சுவாரஸ்யமான உண்மை இருக்கிறது. ஒரு ஹெக்ஸாடெசிமல் இலக்கமானது 0 முதல் 15 வரையிலான மதிப்புகளுடன் சரியாக 4 பிட்களால் குறிப்பிடப்படுகிறது. எனவே, ஒரு பைட்டை எட்டு பைனரி இலக்கங்களுடன் எழுதலாம். (0 அல்லது 1) அல்லது இரண்டு ஹெக்ஸாடெசிமல் இலக்கங்கள்."

"இதோ ஒரு உதாரணம்:"

தசம எண் பைனரி எண் பதின்ம எண்
0 0000 0000 00
1 0000 0001 01
15 0000 1111 0f
16 0001 0000 10
31 0001 1111 1f
32 0010 0000 20
128 1000 0000 80
129 1000 0001 81
255 1111 1111 ff

"ஹெக்ஸாடெசிமல் பிரதிநிதித்துவம் எளிதில் பைனரியாக மாற்றப்படுகிறது (மற்றும் நேர்மாறாகவும்). அதனால்தான் நிரலாக்கத்தில் பைனரியில் (0கள் மற்றும் 1களைப் பயன்படுத்தி) ஒரு எண்ணின் உள் பைட் பிரதிநிதித்துவம் அரிதாகவே கொடுக்கப்படுகிறது. அது மிக நீண்டதாகவும் புரிந்துகொள்வது கடினமாகவும் இருக்கும். ஹெக்ஸாடெசிமல் குறியீடு மிகவும் படிக்கக்கூடியது மற்றும் கச்சிதமானது."

"நான் ஒப்புக்கொள்கிறேன். எனக்கும் பிடித்திருந்தது."

"இதன் மூலம், பல்வேறு எண் அமைப்புகளில் எண்களை நேரடியாக குறியீட்டில் எழுத ஜாவா உங்களை அனுமதிக்கிறது:"

அடித்தளம் தனித்துவமான அம்சம் எடுத்துக்காட்டுகள் தவறான எண்கள்
2  எண்ணின் தொடக்கத்தில் 0b 0b 00001111 0b 11111 2 1
8  எண்ணின் தொடக்கத்தில் 0 0 1234343 0 12 8
10 இல்லை 95459 909
16  எண்ணின் தொடக்கத்தில் 0x 0x 10ff 0x 1c gh

"சிறந்த பாடம். நன்றி, பிலாபோ."