1. පරිගණකය තුළ දත්ත සහ උපදෙස් නිරූපණය (Data Representation)
පරිගණකය යනු විද්යුත් උපකරණයකි. එය ක්රියා කරන්නේ විද්යුත් සංඥා මගිනි. පරිගණකයකට තේරුම් ගත හැක්කේ අවස්ථා දෙකක් පමණි:
මේ නිසා පරිගණකය තුළ සියලුම දත්ත (අකුරු, රූප, ශබ්ද) සහ උපදෙස් ගබඩා වන්නේ ද්විමය (Binary) ආකාරයටයි.
2. සංඛ්යා පද්ධති (Number Systems)
පරිගණක විද්යාවේදී ප්රධාන වශයෙන් සංඛ්යා පද්ධති 4ක් භාවිතා වේ:
| පද්ධතිය (System) | පාදය (Base) | භාවිතා වන සංකේත (Symbols) |
|---|---|---|
| ද්විමය (Binary) | 2 | 0, 1 |
| අෂ්ටමය (Octal) | 8 | 0, 1, 2, 3, 4, 5, 6, 7 |
| දශමය (Decimal) | 10 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| ෂඩ් දශමය (Hexadecimal) | 16 | 0-9 සහ A, B, C, D, E, F (A=10, F=15) |
3. සංඛ්යා පද්ධති අතර පරිවර්තනය (Number System Conversions)
විභාගයේදී මේවා ඉතා වැදගත් වේ:
4. පූර්ණ සංඛ්යා නිරූපණය (Integer Representation)
පරිගණකය තුළ පූර්ණ සංඛ්යා ප්රධාන ආකාර දෙකකට ගබඩා කරයි:
සලකුණු කළ සංඛ්යා නිරූපණය කරන ක්රම 3කි:
මෙහිදී ද්විමය අගයේ වැඩිම වටිනාකමක් ඇති බිටුව (Most Significant Bit - MSB) සලකුණ නිරූපණයට යොදා ගනී.
ධන සංඛ්යාවක ද්විමය අගයෙහි ඇති සියලුම 0 අගයන් 1 ලෙසත්, 1 අගයන් 0 ලෙසත් මාරු කිරීමෙන් ඍණ සංඛ්යාව ලබා ගනී.
උදා: +5 හි 1's complement අගය -5 වේ.
පරිගණකයක් තුළ ඍණ සංඛ්යා ගබඩා කිරීමට භාවිතා කරන ප්රධාන සහ වඩාත් කාර්යක්ෂම ක්රමය මෙයයි.
$$2's\ Complement = (1's\ Complement) + 1$$
5. අනුපූරක භාවිතා කිරීමේ වැදගත්කම
පරිගණකයට තේරුම් ගත හැක්කේ ද්විමය (0 සහ 1) දත්ත පමණක් බව අපි ඉගෙන ගත්තා. එබැවින් අප යතුරුපුවරුවෙන් ඇතුළත් කරන අකුරු (A, b, c), ඉලක්කම් (0-9) සහ විශේෂ සංකේත (@, #, $) පරිගණකය තුළ ගබඩා කිරීමට නම් ඒවා ද්විමය කේත බවට පත් කළ යුතුය. මෙහිදී භාවිතා වන ප්රධාන ක්රමවේදයන් 4කි.
මෙහිදී සෑම දශම ඉලක්කමක්ම (0-9) නිරූපණය කිරීමට බිටු 4ක (4-bit) ද්විමය අගයක් භාවිතා කරයි.
සම්මත BCD ක්රමයේදී බිටු 6ක් භාවිතා කළ අතර එමගින් අක්ෂර 26 = 64 ක් නිරූපණය කළ හැකි විය.
නූතන පරිගණක වල මෙය භාවිතය ඉතා අඩුය.
Extended Binary Coded Decimal Interchange Code යන්න මෙහි තේරුමයි.
මෙය IBM සමාගම විසින් ඔවුන්ගේ මේන්ෆ්රේම් (Mainframe) පරිගණක සඳහා නිපදවන ලදී.
මෙහිදී අක්ෂරයක් නිරූපණයට බිටු 8ක් (8-bit) භාවිතා කරයි. එමගින් අක්ෂර 28 = 256 ක් නිරූපණය කළ හැක.
American Standard Code for Information Interchange යන්න මෙහි තේරුමයි.
මෙය ලොව පුරා වඩාත්ම ප්රචලිත වූ කේත ක්රමයයි.
මෙහි ප්රධාන ආකාර දෙකකි:
ලෝකයේ ඇති සියලුම භාෂාවල (සිංහල, දෙමළ, චීන, ජපන් ආදී) අක්ෂර සහ ඉමෝජි (Emoji) නිරූපණය කිරීමට නිර්මාණය කර ඇත.
වර්තමානයේ අන්තර්ජාලය සහ නවීන මෘදුකාංග වල භාවිතා වන ප්රධානතම ක්රමය මෙයයි.
මෙහිදී බිටු 16ක් හෝ බිටු 32ක් භාවිතා කරයි.
UTF-8, UTF-16, UTF-32 ලෙස මෙහි ප්රභේද ඇත.
බිටු 16 ක් භාවිතා කරන්නේ නම් අක්ෂර 216 = 65,536 ක් නිරූපණය කළ හැක.
| කේත ක්රමය | වාසි | අවාසි |
|---|---|---|
| ASCII | අඩු මතක ධාරිතාවක් අවශ්ය වීම. ඉතා වේගවත් වීම. | ඉංග්රීසි නොවන වෙනත් භාෂා (සිංහල වැනි) නිරූපණය කළ නොහැකි වීම. |
| Unicode | ලෝකයේ ඕනෑම භාෂාවක අක්ෂර නිරූපණය කළ හැකි වීම. විශ්වීය සම්මතයක් වීම. | ASCII වලට වඩා වැඩි මතක ධාරිතාවක් (Storage) අවශ්ය වීම. |
සංසන්දනය: ASCII වලට වඩා Unicode විශාල වන්නේ ඇයිදැයි විමසිය හැක. පිළිතුර: Unicode මගින් ලෝකයේ සියලුම භාෂා නිරූපණය කිරීමට වැඩි බිටු ප්රමාණයක් භාවිතා කරන බැවිනි.
පරිවර්තනය: විභාගයේදී 'A' අක්ෂරයේ ASCII අගය 65 ලෙස ලබා දී 'C' හි අගය ඇසිය හැක. එවිට 65(A), 66(B), 67(C) ලෙස ගණනය කර එය ද්විමය අගයට හැරවිය යුතුය.
පරිගණකය තුළ දත්ත සැකසීමේදී (Processing) ප්රධාන වශයෙන් අංක ගණිතමය (Arithmetic) සහ තර්කික (Logical) යන මෙහෙයුම් දෙවර්ගයම සිදු වේ.
මෙහිදී ප්රධාන වශයෙන් ද්විමය සංඛ්යා එකතු කිරීම සහ අඩු කිරීම ඉගෙන ගත යුතුය.
මෙහිදී මූලික නීති 4ක් අනුගමනය කරයි:
මූලික නීති:
විශේෂ සටහන: උසස් පෙළ විෂය නිර්දේශයට අනුව, ඍණ සංඛ්යා අඩු කිරීමේදී බොහෝ විට භාවිතා වන්නේ 2's Complement (දෙකෙහි අනුපූරක) ක්රමයයි. එහිදී අඩු කළ යුතු සංඛ්යාවේ 2's complement අගය සොයා එය අනෙක් සංඛ්යාවට එකතු කරනු ලැබේ.
පරිගණකයේ ALU (Arithmetic Logic Unit) ඒකකය මගින් බිටුවෙන් බිටුවට (Bit-by-bit) සිදු කරන තර්කික සැසඳීම් මෙහිදී අධ්යයනය කෙරේ.
බිටුවක අගය මාරු කරයි.
බිටු දෙකම '1' නම් පමණක් ප්රතිඵලය '1' වේ.
1 AND 1 = 1
අනෙක් සෑම විටම ප්රතිඵලය 0 වේ.
බිටු දෙකෙන් එකක් හෝ '1' නම් ප්රතිඵලය '1' වේ.
0 OR 0 = 0
අනෙක් සෑම විටම ප්රතිඵලය 1 වේ.
බිටු දෙක එකිනෙකට වෙනස් නම් ප්රතිඵලය '1' වේ. බිටු සමාන නම් ප්රතිඵලය '0' වේ.
1010 සහ 1100 යන සංඛ්යා දෙකෙහි Bitwise AND අගය සොයන්න.
1 0 1 0
1 1 0 0 (AND)
---------
1 0 0 0
ප්රතිඵලය: 1000