පරිගණක‍යෙහි සංඛ්‍යා නිරූපණය කරන ආකාරය විශ්ලේෂණය කරයි
පාඩම.

1. පරිගණකය තුළ දත්ත සහ උපදෙස් නිරූපණය (Data Representation)

පරිගණකය යනු විද්‍යුත් උපකරණයකි. එය ක්‍රියා කරන්නේ විද්‍යුත් සංඥා මගිනි. පරිගණකයකට තේරුම් ගත හැක්කේ අවස්ථා දෙකක් පමණි:

  • On (සංඥාවක් පවතී) - '1' ලෙස නිරූපණය කරයි.
  • Off (සංඥාවක් නැත) - '0' ලෙස නිරූපණය කරයි.

මේ නිසා පරිගණකය තුළ සියලුම දත්ත (අකුරු, රූප, ශබ්ද) සහ උපදෙස් ගබඩා වන්නේ ද්විමය (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)

විභාගයේදී මේවා ඉතා වැදගත් වේ:

  • දශමය සිට වෙනත් පද්ධති වලට: අදාළ පාදයෙන් (2, 8 හෝ 16) බෙදා ඉතිරි අගයන් යට සිට ඉහළට ලිවීම.
  • වෙනත් පද්ධති සිට දශමයට: අදාළ පාදයේ බලයන්ගෙන් (Place value) ගුණ කර එකතු කිරීම.
  • ද්විමය ↔ අෂ්ටමය: බිටු 3 බැගින් වූ කාණ්ඩ (Groups of 3 bits) මගින්.
  • ද්විමය ↔ ෂඩ් දශමය: බිටු 4 බැගින් වූ කාණ්ඩ (Groups of 4 bits) මගින්.

4. පූර්ණ සංඛ්‍යා නිරූපණය (Integer Representation)

පරිගණකය තුළ පූර්ණ සංඛ්‍යා ප්‍රධාන ආකාර දෙකකට ගබඩා කරයි:

  • නිරූපිත (Unsigned Integers): ධන සංඛ්‍යා පමණක් නිරූපණය කරයි.
  • සලකුණු කළ (Signed Integers): ධන (+) සහ ඍණ (-) යන සංඛ්‍යා දෙවර්ගයම නිරූපණය කරයි.

සලකුණු කළ සංඛ්‍යා නිරූපණය කරන ක්‍රම 3කි:

  1. (A) සලකුණු කළ විශාලත්වය (Signed Magnitude)

    මෙහිදී ද්විමය අගයේ වැඩිම වටිනාකමක් ඇති බිටුව (Most Significant Bit - MSB) සලකුණ නිරූපණයට යොදා ගනී.

    • MSB = 0 නම්, එය ධන (+) සංඛ්‍යාවකි.
    • MSB = 1 නම්, එය ඍණ (-) සංඛ්‍යාවකි.
    • ඉතිරි බිටු මගින් සංඛ්‍යාවේ අගය (Magnitude) පෙන්වයි.
  2. (B) එකෙහි අනුපූරකය (1's Complement)

    ධන සංඛ්‍යාවක ද්විමය අගයෙහි ඇති සියලුම 0 අගයන් 1 ලෙසත්, 1 අගයන් 0 ලෙසත් මාරු කිරීමෙන් ඍණ සංඛ්‍යාව ලබා ගනී.

    උදා: +5 හි 1's complement අගය -5 වේ.

  3. (C) දෙකෙහි අනුපූරකය (2's Complement)

    පරිගණකයක් තුළ ඍණ සංඛ්‍යා ගබඩා කිරීමට භාවිතා කරන ප්‍රධාන සහ වඩාත් කාර්යක්ෂම ක්‍රමය මෙයයි.

    1. පියවර 1: සංඛ්‍යාවේ ද්විමය අගය ලියන්න.
    2. පියවර 2: එහි 1's complement අගය ලබා ගන්න (0 → 1, 1 → 0).
    3. පියවර 3: එයට 1ක් එකතු කරන්න.

    $$2's\ Complement = (1's\ Complement) + 1$$

5. අනුපූරක භාවිතා කිරීමේ වැදගත්කම

  • පරිගණකයට ඍණ සංඛ්‍යා පහසුවෙන් හඳුනා ගැනීමට.
  • ගණක යන්ත්‍රය තුළ වෙනම අඩු කිරීමේ පරිපථ (Subtractors) අවශ්‍ය නොවේ; එකතු කිරීමේ පරිපථය (Adder) මගින්ම අඩු කිරීමේ ක්‍රියාවලිය සිදු කළ හැකිය.
  • '0' සඳහා ඇත්තේ එක් නිරූපණයක් පමණක් වීම (2's complement වලදී).
පරිගණකය තුළ අනුලක්ෂණ නිරූපණය කරන්නේ කෙසේ දැයි විශ්ලේෂණය කරයි
පාඩම.

පරිගණකයට තේරුම් ගත හැක්කේ ද්විමය (0 සහ 1) දත්ත පමණක් බව අපි ඉගෙන ගත්තා. එබැවින් අප යතුරුපුවරුවෙන් ඇතුළත් කරන අකුරු (A, b, c), ඉලක්කම් (0-9) සහ විශේෂ සංකේත (@, #, $) පරිගණකය තුළ ගබඩා කිරීමට නම් ඒවා ද්විමය කේත බවට පත් කළ යුතුය. මෙහිදී භාවිතා වන ප්‍රධාන ක්‍රමවේදයන් 4කි.

  1. 1. ද්විමය කේත දශමය (Binary Coded Decimal - BCD)

    මෙහිදී සෑම දශම ඉලක්කමක්ම (0-9) නිරූපණය කිරීමට බිටු 4ක (4-bit) ද්විමය අගයක් භාවිතා කරයි.

    සම්මත BCD ක්‍රමයේදී බිටු 6ක් භාවිතා කළ අතර එමගින් අක්ෂර 26 = 64 ක් නිරූපණය කළ හැකි විය.

    නූතන පරිගණක වල මෙය භාවිතය ඉතා අඩුය.

  2. 2. විස්තෘත ද්විමය කේත දශමය (EBCDIC)

    Extended Binary Coded Decimal Interchange Code යන්න මෙහි තේරුමයි.

    මෙය IBM සමාගම විසින් ඔවුන්ගේ මේන්ෆ්‍රේම් (Mainframe) පරිගණක සඳහා නිපදවන ලදී.

    මෙහිදී අක්ෂරයක් නිරූපණයට බිටු 8ක් (8-bit) භාවිතා කරයි. එමගින් අක්ෂර 28 = 256 ක් නිරූපණය කළ හැක.

  3. 3. ඇමරිකානු සම්මත තොරතුරු හුවමාරු කේතය (ASCII)

    American Standard Code for Information Interchange යන්න මෙහි තේරුමයි.

    මෙය ලොව පුරා වඩාත්ම ප්‍රචලිත වූ කේත ක්‍රමයයි.

    මෙහි ප්‍රධාන ආකාර දෙකකි:

    • Standard ASCII: බිටු 7කි. අක්ෂර 27  = 128 කි.
    • Extended ASCII: බිටු 8කි. අක්ෂර 28  = 256 කි. (ඉංග්‍රීසි අකුරු, ඉලක්කම් සහ පොදු සංකේත සඳහා පමණක් සීමා වේ).
  4. 4. ඒකකේතය (Unicode)

    ලෝකයේ ඇති සියලුම භාෂාවල (සිංහල, දෙමළ, චීන, ජපන් ආදී) අක්ෂර සහ ඉමෝජි (Emoji) නිරූපණය කිරීමට නිර්මාණය කර ඇත.

    වර්තමානයේ අන්තර්ජාලය සහ නවීන මෘදුකාංග වල භාවිතා වන ප්‍රධානතම ක්‍රමය මෙයයි.

    මෙහිදී බිටු 16ක් හෝ බිටු 32ක් භාවිතා කරයි.

    UTF-8, UTF-16, UTF-32 ලෙස මෙහි ප්‍රභේද ඇත.

    බිටු 16 ක් භාවිතා කරන්නේ නම් අක්ෂර 216  = 65,536 ක් නිරූපණය කළ හැක.

අක්ෂර නිරූපණ ක්‍රමවල වාසි සහ අවාසි
කේත ක්‍රමය වාසි අවාසි
ASCII අඩු මතක ධාරිතාවක් අවශ්‍ය වීම. ඉතා වේගවත් වීම. ඉංග්‍රීසි නොවන වෙනත් භාෂා (සිංහල වැනි) නිරූපණය කළ නොහැකි වීම.
Unicode ලෝකයේ ඕනෑම භාෂාවක අක්ෂර නිරූපණය කළ හැකි වීම. විශ්වීය සම්මතයක් වීම. ASCII වලට වඩා වැඩි මතක ධාරිතාවක් (Storage) අවශ්‍ය වීම.
ඔබ දැනගත යුතු විශේෂ කරුණු (Exam Tips)

සංසන්දනය: ASCII වලට වඩා Unicode විශාල වන්නේ ඇයිදැයි විමසිය හැක. පිළිතුර: Unicode මගින් ලෝකයේ සියලුම භාෂා නිරූපණය කිරීමට වැඩි බිටු ප්‍රමාණයක් භාවිතා කරන බැවිනි.

පරිවර්තනය: විභාගයේදී 'A' අක්ෂරයේ ASCII අගය 65 ලෙස ලබා දී 'C' හි අගය ඇසිය හැක. එවිට 65(A), 66(B), 67(C) ලෙස ගණනය කර එය ද්විමය අගයට හැරවිය යුතුය.

ද්වීමය සංඛ්‍යා සඳහා මූලික අංක ගණිත සහ තාර්කික මෙහෙයුම් භාවිතා කරයි
ලේසියෙන් Binary සංඛාවක් Decimal කරමු. Convert binary into decimal easily.
Shanuka Dilshan
පාඩම.

පරිගණකය තුළ දත්ත සැකසීමේදී (Processing) ප්‍රධාන වශයෙන් අංක ගණිතමය (Arithmetic) සහ තර්කික (Logical) යන මෙහෙයුම් දෙවර්ගයම සිදු වේ.

1. ද්විමය අංක ගණිතමය මෙහෙයුම් (Binary Arithmetic)

මෙහිදී ප්‍රධාන වශයෙන් ද්විමය සංඛ්‍යා එකතු කිරීම සහ අඩු කිරීම ඉගෙන ගත යුතුය.

(A) ද්විමය එකතු කිරීම (Binary Addition)

මෙහිදී මූලික නීති 4ක් අනුගමනය කරයි:

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 0 (සහ ඉතිරිය/Carry 1 කි)
  • 1 + 1 + 1 = 1 (සහ ඉතිරිය/Carry 1 කි)
(B) ද්විමය අඩු කිරීම (Binary Subtraction)

මූලික නීති:

  • 0 - 0 = 0
  • 1 - 1 = 0
  • 1 - 0 = 1
  • 0 - 1 = 1 (ඉදිරි බිටුවකින් 1ක් ඉල්ලා ගත් විට/Borrow)

විශේෂ සටහන: උසස් පෙළ විෂය නිර්දේශයට අනුව, ඍණ සංඛ්‍යා අඩු කිරීමේදී බොහෝ විට භාවිතා වන්නේ 2's Complement (දෙකෙහි අනුපූරක) ක්‍රමයයි. එහිදී අඩු කළ යුතු සංඛ්‍යාවේ 2's complement අගය සොයා එය අනෙක් සංඛ්‍යාවට එකතු කරනු ලැබේ.

2. බිටු අනුසාරී තර්කික මෙහෙයුම් (Bitwise Logical Operations)

පරිගණකයේ ALU (Arithmetic Logic Unit) ඒකකය මගින් බිටුවෙන් බිටුවට (Bit-by-bit) සිදු කරන තර්කික සැසඳීම් මෙහිදී අධ්‍යයනය කෙරේ.

(i) NOT මෙහෙයුම (ප්‍රතිලෝම කිරීම)

බිටුවක අගය මාරු කරයි.

  • NOT(0) = 1
  • NOT(1) = 0
(ii) AND මෙහෙයුම

බිටු දෙකම '1' නම් පමණක් ප්‍රතිඵලය '1' වේ.

1 AND 1 = 1

අනෙක් සෑම විටම ප්‍රතිඵලය 0 වේ.

(iii) OR මෙහෙයුම

බිටු දෙකෙන් එකක් හෝ '1' නම් ප්‍රතිඵලය '1' වේ.

0 OR 0 = 0

අනෙක් සෑම විටම ප්‍රතිඵලය 1 වේ.

(iv) XOR මෙහෙයුම (Exclusive OR)

බිටු දෙක එකිනෙකට වෙනස් නම් ප්‍රතිඵලය '1' වේ. බිටු සමාන නම් ප්‍රතිඵලය '0' වේ.

  • 0 XOR 0 = 0
  • 1 XOR 1 = 0
  • 1 XOR 0 = 1
  • 0 XOR 1 = 1
උදාහරණ ගැටලුවක්:

1010 සහ 1100 යන සංඛ්‍යා දෙකෙහි Bitwise AND අගය සොයන්න.

1 0 1 0
1 1 0 0 (AND)
---------
1 0 0 0

ප්‍රතිඵලය: 1000

විභාගය සඳහා වැදගත් උපදෙස්:
  • Carry සහ Borrow: එකතු කිරීමේදී ඉතිරිය (Carry) සහ අඩු කිරීමේදී ඉල්ලා ගැනීම (Borrow) නිවැරදිව සටහන් කරන්න.
  • Bitwise Operations: මෙහෙයුම් සිදු කිරීමේදී සංඛ්‍යා දෙකෙහිම බිටු ගණන සමාන කර ගැනීමට අවශ්‍ය නම් වම් පසට බින්දු (0) එකතු කරන්න.
  • XOR විශේෂත්වය: XOR මෙහෙයුම දත්ත සංකේතනය (Encryption) සඳහා බහුලව භාවිතා වන බව මතක තබා ගන්න.