கணினியில் பிட்கள்
கணினிகள் தரவை பைனரி வடிவத்தில் (0கள் மற்றும் 1கள்) சேமிக்கின்றன. இந்த ஒவ்வொரு 0 அல்லது 1 ஒரு பிட் என்று அழைக்கப்படுகிறது.
JavaScript பிட்வைஸ் செயல்பாடுகள் இந்த பிட்களின் அடிப்படையில் செயல்படும் கணித செயல்பாடுகள்.
பிட் என்றால் என்ன?
பிட் (Bit) = Binary Digit (பைனரி இலக்கம்). இது கணினியில் தரவின் மிகச்சிறிய அலகு. ஒரு பிட் 0 அல்லது 1 மதிப்பை மட்டுமே கொள்ளும்.
JavaScript பிட்வைஸ் செயலிகள்
| செயலி | பெயர் | விளக்கம் |
|---|---|---|
| & | AND | இரு பிட்களும் 1 ஆக இருந்தால் மட்டும் ஒவ்வொரு பிட்டையும் 1 ஆக்குகிறது |
| | | OR | இரு பிட்களில் ஒன்று 1 ஆக இருந்தால் ஒவ்வொரு பிட்டையும் 1 ஆக்குகிறது |
| ^ | XOR | இரு பிட்கள் வித்தியாசமாக இருந்தால் மட்டும் ஒவ்வொரு பிட்டையும் 1 ஆக்குகிறது |
| ~ | NOT | அனைத்து பிட்களையும் தலைகீழாக மாற்றுகிறது |
| << | Zero fill left shift | வலது பக்கத்திலிருந்து பூஜ்ஜியங்களைத் தள்ளி இடது பக்கமாக மாற்றுகிறது, இடதுபுற பிட்கள் விடுபடுகின்றன |
| >> | Signed right shift | இடதுபுறத்திலிருந்து இடதுபுற பிட்டின் நகல்களைத் தள்ளி வலது பக்கமாக மாற்றுகிறது, வலதுபுற பிட்கள் விடுபடுகின்றன |
| >>> | Zero fill right shift | இடதுபுறத்திலிருந்து பூஜ்ஜியங்களைத் தள்ளி வலது பக்கமாக மாற்றுகிறது, வலதுபுற பிட்கள் விடுபடுகின்றன |
எடுத்துக்காட்டுகள்
| செயல்பாடு | முடிவு | அதே போன்றது | முடிவு |
|---|---|---|---|
| 5 & 1 | 1 | 0101 & 0001 | 0001 |
| 5 | 1 | 5 | 0101 | 0001 | 0101 |
| ~ 5 | 10 | ~0101 | 1010 |
| 5 << 1 | 10 | 0101 << 1 | 1010 |
| 5 ^ 1 | 4 | 0101 ^ 0001 | 0100 |
| 5 >> 1 | 2 | 0101 >> 1 | 0010 |
| 5 >>> 1 | 2 | 0101 >>> 1 | 0010 |
JavaScript 32 பிட்களைப் பயன்படுத்துகிறது
JavaScript எண்களை 64 பிட் மிதவை புள்ளி எண்களாக சேமிக்கிறது, ஆனால் அனைத்து பிட்வைஸ் செயல்பாடுகளும் 32 பிட் பைனரி எண்களில் செய்யப்படுகின்றன.
ஒரு பிட்வைஸ் செயல்பாடு செய்யப்படுவதற்கு முன், JavaScript எண்களை 32 பிட் கையொப்பமிடப்பட்ட முழு எண்களாக மாற்றுகிறது.
பிட்வைஸ் செயல்பாடு செய்யப்பட்ட பிறகு, முடிவு 64 பிட் JavaScript எண்களாக மாற்றப்படுகிறது.
4 பிட் vs 32 பிட்:
மேலே உள்ள எடுத்துக்காட்டுகள் 4 பிட் கையொப்பமிடப்படாத பைனரி எண்களைப் பயன்படுத்துகின்றன. இதனால்தான் ~ 5, 10 ஐ வழங்குகிறது.
JavaScript 32 பிட் கையொப்பமிடப்பட்ட முழு எண்களைப் பயன்படுத்துவதால், இது 10 ஐ வழங்காது. இது -6 ஐ வழங்கும்.
00000000000000000000000000000101 (5)
// பிட்வைஸ் NOT (~5)
11111111111111111111111111111010 (~5 = -6)
கையொப்பமிடப்பட்ட முழு எண் இடதுபுற பிட்டை மைனஸ் அடையாளமாகப் பயன்படுத்துகிறது.
பிட்வைஸ் செயல்பாடுகள்
பிட்வைஸ் AND (&)
இரு பிட்களும் 1 ஆக இருந்தால் மட்டும் 1 ஐ வழங்குகிறது:
| 5 (பைனரி) | 00000101 |
| 1 (பைனரி) | 00000001 |
| 5 & 1 | 00000001 (1) |
பிட்வைஸ் OR (|)
இரு பிட்களில் ஒன்று 1 ஆக இருந்தால் 1 ஐ வழங்குகிறது:
| 5 (பைனரி) | 00000101 |
| 1 (பைனரி) | 00000001 |
| 5 | 1 | 00000101 (5) |
பிட்வைஸ் XOR (^)
இரு பிட்கள் வித்தியாசமாக இருந்தால் 1 ஐ வழங்குகிறது:
| 5 (பைனரி) | 00000101 |
| 1 (பைனரி) | 00000001 |
| 5 ^ 1 | 00000100 (4) |
பிட்வைஸ் NOT (~)
அனைத்து பிட்களையும் தலைகீழாக மாற்றுகிறது:
| 5 (பைனரி) | 00000101 |
| ~5 | 11111010 (-6) |
நேரடி டெமோக்கள்
அடிப்படை பிட்வைஸ் செயல்பாடுகள்
ஷிப்ட் செயல்பாடுகள்
ஒதுக்கீடு செயலிகள்
பைனரி எண்கள்
ஒரே ஒரு பிட் அமைக்கப்பட்ட பைனரி எண்களை புரிந்துகொள்வது எளிது:
| பைனரி பிரதிநிதித்துவம் | தசம மதிப்பு |
|---|---|
| 00000000000000000000000000000001 | 1 |
| 00000000000000000000000000000010 | 2 |
| 00000000000000000000000000000100 | 4 |
| 00000000000000000000000000001000 | 8 |
| 00000000000000000000000000010000 | 16 |
இன்னும் சில பிட்களை அமைப்பது பைனரி முறையை வெளிப்படுத்துகிறது:
| பைனரி பிரதிநிதித்துவம் | தசம மதிப்பு |
|---|---|
| 00000000000000000000000000000101 | 5 (4 + 1) |
| 00000000000000000000000000001101 | 13 (8 + 4 + 1) |
| 00000000000000000000000000101101 | 45 (32 + 8 + 4 + 1) |
மாற்றும் செயல்பாடுகள்
தசமத்தை பைனரியாக மாற்றுதல்
return (dec >>> 0).toString(2);
}
பைனரியை தசமமாக மாற்றுதல்
return parseInt(bin, 2).toString(10);
}
மாற்றுதல் டெமோ
JavaScript பயிற்சிகள்
இந்த டுடோரியலில் உள்ள பல அத்தியாயங்கள் உங்கள் அறிவு நிலையைச் சரிபார்க்கக்கூடிய பயிற்சியுடன் முடிகின்றன.