எண் முறைமைகளின் அடிப்படைகள் மற்றும் அவற்றின் பயன்பாடு
கணினி அறிவியலிலும் டிஜிட்டல் மின்னணுவியலிலும் பல்வேறு எண் முறைமைகள் பயன்படுத்தப்படுகின்றன. நாம் அன்றாட வாழ்வில் பயன்படுத்தும் டெசிமல் (Decimal - பதின்ம முறைமை) தவிர, கணினிகள் தங்களுக்குள் தகவல்களைச் செயலாக்க பைனரி (Binary - இரும முறைமை), ஆக்டல் (Octal - எண்ம முறைமை) மற்றும் ஹெக்ஸ் (Hexadecimal - பதினறும முறைமை) ஆகிய எண் முறைமைகளைப் பயன்படுத்துகின்றன.
- பைனரி (Binary): இது பேஸ்-2 (Base-2) முறைமையாகும். இதில் 0 மற்றும் 1 ஆகிய இரண்டு இலக்கங்கள் மட்டுமே பயன்படுத்தப்படுகின்றன. கணினியின் வன்பொருள் சுற்றுகள் இந்த இரும நிலைகளின் அடிப்படையிலேயே இயங்குகின்றன.
- ஆக்டல் (Octal): இது பேஸ்-8 (Base-8) முறைமையாகும். இதில் 0 முதல் 7 வரையிலான இலக்கங்கள் பயன்படுத்தப்படுகின்றன. பைனரி எண்களின் நீளத்தைக் குறைத்து எளிமையாகக் காட்ட இது உதவுகிறது.
- டெசிமல் (Decimal): இது பேஸ்-10 (Base-10) முறைமையாகும். மனிதர்கள் பொதுவாகப் பயன்படுத்தும் 0 முதல் 9 வரையிலான இலக்கங்களைக் கொண்ட முறைமை இதுவாகும்.
- ஹெக்ஸ் (Hexadecimal): இது பேஸ்-16 (Base-16) முறைமையாகும். இதில் 0 முதல் 9 வரையிலான எண்களும், 10 முதல் 15 வரையிலான மதிப்புகளைக் குறிக்க A முதல் F வரையிலான ஆங்கில எழுத்துகளும் பயன்படுத்தப்படுகின்றன. நினைவக முகவரிகள் (Memory addresses) மற்றும் வண்ணக் குறியீடுகளைக் (Color codes) குறிக்க இது பரவலாகப் பயன்படுத்தப்படுகிறது.
இந்த எண் முறைமைகளுக்கு இடையே துல்லியமான மாற்றங்களைச் செய்வது மென்பொருள் உருவாக்குநர்களுக்கும் தொழில்நுட்பப் பயனர்களுக்கும் அவசியமான ஒன்றாகும்.
எண் முறைமை மாற்றத்தின் விதிகள் மற்றும் துல்லியம்
எண்களை ஒரு பேஸ்-லிருந்து மற்றொரு பேஸ்-க்கு மாற்றும்போது துல்லியம் மிகவும் முக்கியமானது. இந்த பைனரி/ஹெக்ஸ் மாற்றி கருவி எண்களை மாற்றும்போது எவ்வித ரவுண்டிங் (rounding) பிழைகளும் இன்றி துல்லியமாக மாற்றுகிறது.
தன்னிச்சையான துல்லிய எண்கள் (Arbitrary Precision)
சாதாரண கணக்கீடுகளில் மிகப்பெரிய எண்களைக் கையாளும்போது துல்லியம் குறைய வாய்ப்புள்ளது. ஆனால், இக்கருவி BigInt தொழில்நுட்பத்தைப் பயன்படுத்தி எண்களைப் பகுப்பாய்வு செய்து வடிவமைக்கிறது. இதன் மூலம் 4,096 எழுத்துகள் வரையிலான தன்னிச்சையான துல்லிய முழு எண்களை (Arbitrary precision integers) எந்தவொரு நடைமுறை அளவு வரம்பும் இன்றி மாற்ற முடியும்.
எதிர்மறை எண்கள் மற்றும் முன்னொட்டுகள்
எதிர்மறை எண்களை மாற்றும்போது, அவை ஒவ்வொரு பேஸ்-லும் தங்களின் முன்னால் உள்ள மைனஸ் குறியைத் தக்கவைத்துக் கொள்கின்றன. மேலும், உள்ளீட்டில் பயனர் பயன்படுத்தும் பின்வரும் முன்னொட்டுகள் மற்றும் பிரிப்பான்களை இக்கருவி ஆதரிக்கிறது:
- முன்னால் இருக்கும் மைனஸ் குறி (-)
- சுற்றியுள்ள இடைவெளிகள் (Spaces)
0b,0o, அல்லது0xஆகிய முன்னொட்டுகள்- அண்டர்ஸ்கோர்கள் (
_) மற்றும் ஒயிட்ஸ்பேஸ் (Whitespace) பிரிப்பான்கள்
வெளியீட்டு வடிவமைப்பு மற்றும் பேடிங் (Padding)
மாற்றப்பட்ட எண்களின் வெளியீடு எளிதாகப் படிக்கும் வகையில் குறிப்பிட்ட விதிகளின்படி வடிவமைக்கப்படுகிறது:
- பைனரி (Binary): பைனரி வெளியீடு 8 பிட்டுகளுக்கு முன்னால் பூஜ்ஜியங்களால் நிரப்பப்பட்டு (padded with leading zeros to 8 bits) காட்டப்படும்.
- ஆக்டல் (Octal): ஆக்டல் வெளியீடு 3 பிட்டுகளுக்கு முன்னால் பூஜ்ஜியங்களால் நிரப்பப்பட்டு (padded with leading zeros to 3 bits) காட்டப்படும்.
- ஹெக்ஸ் (Hex): ஹெக்ஸாடெசிமல் வெளியீடு 2 பிட்டுகளுக்கு முன்னால் பூஜ்ஜியங்களால் நிரப்பப்பட்டு (padded with leading zeros to 2 bits) காட்டப்படும். மேலும், ஹெக்ஸ் வெளியீட்டில் பெரிய எழுத்துகள் (Uppercase letters) மட்டுமே பயன்படுத்தப்படும்.
- டெசிமல் (Decimal): டெசிமல் வெளியீட்டிற்கு முன்னால் பூஜ்ஜியங்கள் சேர்க்கப்படுவதில்லை.
உரை மற்றும் பைட் குறியீட்டு மாற்றம் (UTF-8 Encoding)
எண்களை மாற்றுவதுடன், இக்கருவி உரையினை பைட் மதிப்புகளாக மாற்றவும் (Encoding), பைட் மதிப்புகளை மீண்டும் உரையாக மாற்றவும் (Decoding) உதவுகிறது.
கணினியில் உள்ள உரை எழுத்துகள் அனைத்தும் UTF-8 குறியீட்டு முறையைப் பயன்படுத்தி பைட்டுகளாக மாற்றப்படுகின்றன. உரை முறைமையில் (Text mode) அதிகபட்சமாக 200,000 எழுத்துகள் வரையிலான உரையை உள்ளீடாக வழங்க முடியும்.
பைட் குறியீட்டு விதிகள்
- உரை → பைட்டுகள்: உள்ளீடு செய்யப்படும் உரையானது நீங்கள் தேர்ந்தெடுக்கும் பைட் பேஸ் (Byte base) முறைமைக்கு (பைனரி, ஆக்டல், டெசிமல் அல்லது ஹெக்ஸ்) ஏற்ப பைட் மதிப்புகளாக மாற்றப்படும்.
- பைட்டுகள் → உரை: மாற்றப்பட்ட பைட் மதிப்புகளை மீண்டும் உரையாக மாற்றும்போது, பைட் மதிப்புகள் ஒயிட்ஸ்பேஸ் அல்லது கமா (comma) மூலம் பிரிக்கப்பட்டிருக்கலாம். ஒவ்வொரு பைட் மதிப்பும் தேர்ந்தெடுக்கப்பட்ட பேஸ்-ல் 0 முதல் 255 வரையிலான வரம்பிற்குள் இருக்க வேண்டும்.
பிழை செய்திகள் மற்றும் நிலைகள் (Status Messages)
உள்ளீடுகளில் தவறுகள் ஏற்படும் போது பயனர் அதை எளிதாகக் கண்டறியும் வகையில் துல்லியமான பிழைச் செய்திகள் காட்டப்படுகின்றன.
பிழைச் செய்திகள்:
- எண் முறைமையில் தவறான இலக்கங்களை உள்ளிட்டால்: "அந்த பேஸ்-க்கு செல்லுபடியற்ற எண் — அதில் இருக்கக் கூடாத இலக்கங்கள் உள்ளதா எனச் சரிபார்க்கவும்."
- பைட் குறியீடுகள் 0–255 வரம்பிற்குள் இல்லாவிட்டால்: "செல்லுபடியற்ற பைட் குறியீடுகள் — ஒவ்வொரு மதிப்பும் தேர்ந்தெடுக்கப்பட்ட பேஸ்-ல் ஒரு பைட்டாக (0–255) இருக்க வேண்டும்."
- செல்லுபடியற்ற பைட் குறியீடுகளை உரையாக மாற்ற முயன்றால்: "அந்த பைட்டுகள் செல்லுபடியாகும் UTF-8 அல்ல, எனவே அவற்றை உரையாகக் காட்ட முடியாது."
- அனுமதிக்கப்பட்ட அளவை விட அதிக நீளமுள்ள உள்ளீட்டை வழங்கினால்: "இந்தக் கருவிக்கு இது மிகவும் நீளமானது — குறுகிய உள்ளீட்டை முயற்சிக்கவும்."
நிலைகள் (Status):
மாற்றங்களின் நிலையைப் பொறுத்து பின்வரும் நிலைகள் காட்டப்படும்:
- உள்ளீடுகள் அழிக்கப்படும் போது: "அழிக்கப்பட்டது."
- உரை பைட்டுகளாக மாற்றப்பட்ட பின்: "என்கோட் செய்யப்பட்டது."
- பைட்டுகள் உரையாக மாற்றப்பட்ட பின்: "டிகோட் செய்யப்பட்டது."
- எண் மாற்றப்பட்ட பின்: "மாற்றப்பட்டது."
தரவு தனியுரிமை மற்றும் பாதுகாப்பு
இணையக் கருவிகளைப் பயன்படுத்தும்போது தரவு பாதுகாப்பு மிக முக்கியமானது. இந்த பைனரி/ஹெக்ஸ் மாற்றி கருவியில் நிகழும் ஒவ்வொரு மாற்றமும் முற்றிலும் உங்கள் உலாவியிலேயே இயங்குகிறது. நீங்கள் உள்ளீடு செய்யும் எண்களோ அல்லது உரைகளோ எந்தவொரு வெளிப்புற சேவையகத்திற்கும் (Server) பதிவேற்றப்படுவதில்லை. உங்கள் எண்களும் உரையும் உங்கள் சாதனத்தை விட்டு வெளியேறாது என்பதால் உங்கள் தரவு தனியுரிமை பாதுகாக்கப்படுகிறது.
அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)
நான் இங்கே எதை மாற்ற முடியும்?
இரண்டு விஷயங்கள். எண் முறைமை (Number mode) பைனரி, ஆக்டல், டெசிமல் மற்றும் ஹெக்ஸாடெசிமல் ஆகியவற்றை இணைக்கிறது — ஏதேனும் ஒரு புலத்தைத் திருத்தினால் மற்றவை உடனடியாகப் புதுப்பிக்கப்படும். உரை முறைமை (Text mode) எந்தவொரு உரையையும் நீங்கள் தேர்ந்தெடுக்கும் பேஸ்-ல் அதன் பைட் மதிப்புகளாக மாற்றுகிறது, மேலும் அந்த பைட்டுகளை மீண்டும் உரையாகப் படிக்கிறது.
இது எதிர்மறை மற்றும் மிகப்பெரிய எண்களைக் கையாளுமா?
ஆம். எதிர்மறை எண்கள் ஒவ்வொரு பேஸ்-லும் முன்னால் ஒரு மைனஸ் குறியைத் தக்கவைத்துக்கொள்கின்றன, மேலும் கவலைப்பட வேண்டிய அளவு வரம்பு எதுவும் இல்லை — மதிப்புகள் துல்லியமாக மாறுகின்றன, ரவுண்டிங் (rounding) இல்லை. நிலையான-அகல டூஸ்-காம்ப்ளிமெண்ட் (two’s-complement) பார்வை இல்லை, ஏனெனில் நீங்கள் ஒரு பிட் அகலத்தைத் தேர்ந்தெடுத்த பின்னரே அது அர்த்தமுள்ளதாக இருக்கும்.
எனது உள்ளீடு எங்கேனும் அனுப்பப்படுகிறதா?
இல்லை. அனைத்தும் உங்கள் உலாவியில் உள்ளூர கணக்கிடப்படுகிறது, எனவே நீங்கள் தட்டச்சு செய்யும் எதுவும் பதிவேற்றப்படுவதில்லை.
பைட் மதிப்புகளை உரையாக மாற்றும்போது ஏற்படும் பிழையை எவ்வாறு சரிசெய்வது?
நீங்கள் உள்ளிட்ட பைட் மதிப்புகள் தேர்ந்தெடுக்கப்பட்ட பேஸ்-ல் (பைனரி, ஆக்டல், டெசிமல் அல்லது ஹெக்ஸ்) 0 முதல் 255 வரையிலான வரம்பிற்குள் இருப்பதை உறுதிசெய்யவும். மேலும், அவை சரியான UTF-8 குறியீட்டு முறைக்கு இணங்க இருக்க வேண்டும்.