මෙම ලිපිය " 3.4 : පරිගණකයෙහි ලකුණුවත් සංඛ්යා නිරූපණය - 1 කොටස " සමග සම්බන්ධ වේ.
Sign Magnitude Representation
මෙම ආකාරයෙන් පූර්ණ සංඛ්යා නිරූපනය කිරීමේ දී වැඩිම වෙසෙසි බිටුව (Most Significant Bit - MSB) සහිත බිටුව ලකුණු බිටුව (Sign Bit) ලෙස සළකයි. අදාල සංඛ්යාව ධන (+) සංඛ්යාවක් ද සෘණ (-) සංඛ්යාවක් ද යන්න තීරණය වනුයේ ලකුණු බිටුවට අනුවයි. ලකුණු බිටුව 0 නම් එය ධන (+) සංඛ්යාවක් ද ලකුණු බිටුව 1 නම් එය සෘණ සංඛ්යාවක් ලෙසද සළකයි.
බිටු 8 හි රෙජිස්තරයක් සැලකූ විට එහි වැඩිම වෙසෙසි බිටුව මගින් ලකුණු බිටුව නිරූපනය කරන අතර ඉතිරි බිටු 7 මගින් සංඛ්යාව නිරූපනය වේ.
උදා: 00000011 යනු +3 වේ. මෙහි වැඩිම වෙසෙසි බිටුව 0 බැවිනි.
10000011 යනු -3 වේ. මෙහි වැඩිම වෙසෙසි බිටුව 1 බැවිනි.
1 හි අනුපූරක සංඛ්යා නිරූපනය (1’s Complement Representation)
පරිගණකය තුළ සෘණ සංඛ්යා නිරූපනය කිරීම සඳහා භාවිතා කරනු ලබන තවත් ආකාරයකි 1 හි අනුපූරක සංඛ්යා නිරූපනය. මෙහිදී සෘණ සංඛ්යා ලබා ගැනීම සඳහා දී ඇති ධන සංඛ්යාවේ ඇති 1 හි බිටු 0 බවටත් 0 හි බිටු 1 බවටත් පරිවර්තනය කරනු ලැබේ.
බිටු අටේ (8 bits) සංඛ්යාවක් ගත් විට එහි වම්පසම ඇති බිටුවෙන් (MSB – Most Significant Bit) දැක්වෙනුයේ සංඛ්යාවේ ලකුණයි. එම බිටුව 0 නම් සංඛ්යාව ධන ද එය 1 නම් සංඛ්යාව සෘණ ද වේ.
සටහන : යම්කිසි සංඛ්යාවක 1 හි අනුපූරකයෙන් (1’s complement) ලැබෙනුයේ එම සංඛ්යාවේ සෘණ සංඛ්යාවයි.
උදා: - 10 1 හි අනුපූරක සංඛ්යාවක් ලෙස නිරූපනය කරන ආකාරය
මෙහිදී පළමුව 10 ට අදාලව ද්වීමය සංඛ්යාව බිටු 8ක් ඇසුරින් ලබා ගත යුතුවේ. ඉන්පසු එහි ඇති 0 හි බිටු 1 ටත් 1 හි බිටු 0 ටත් වෙනස් කරනු ලබයි.
10 = 00001010 ලකුණු බිටුවෙහි අගය 0 බැවින් සංඛ්යාව ධන වේ.
-10 = 1110101 ලකුණු බිටුවෙහි අගය 1 බැවින් සංඛ්යාව සෘණ වේ.
පහත වගුව සලකන්න. 1 හි අනුපූරක සංඛ්යා නිරූපනය වන අයුරු හොඳින් සලකා බලන්න.
දශමය සංඛ්යාව |
ද්වීමය සංඛ්යාව |
දශමය සංඛ්යාව |
ද්වීමය සංඛ්යාව |
0 |
00000000 |
-0 |
11111111 |
1 |
00000001 |
-1 |
11111110 |
2 |
00000010 |
-2 |
11111101 |
3 |
00000011 |
-3 |
11111100 |
4 |
00000100 |
-4 |
11111011 |
5 |
00000101 |
-5 |
11111010 |
1 හි අනුපූරක සංඛ්යා එකතු කිරීම (1’s Complement number addition)
1 හි අනුපූරක සංඛ්යා එකතු කිරීමේ (1’s complement number addition) දී අනුගමනය කරනු ලබන්නේ ද්වීමය සංඛ්යා එකතු කිරීමේ නීති වේ. මෙහි දී එක් විශේෂ කරුණක් සැලකිල්ලට ගත යුතුවේ. එනම් එකතු කිරීමේ දී ලැබෙන ප්රතිඵලය වැඩිම වෙසෙසි බිටුවෙන් ඉදිරියට ගමන් කරයි නම්, එම ඉදිරියට ගමන් කරන බිටුව නැවත කලින් ලැබුණු ප්රතිඵලයටම එකතු කරයි. අවසානයේ දී ලැබෙන ප්රතිඵලය 1 හි අනුපූරක සංඛ්යා එකතු කිරීමෙන් ලැබෙන ප්රතිඵලයට සමාන වේ.
සටහන : ඇතැම් අවස්ථාවල දී වැඩිම වෙසෙසි බිටුවෙන් ඉදිරියට නොයයි නම් එවැනි අවස්ථාවල දී අවසන් පිළිතුර කෙලින්ම ලැබේ.
උදා: 7 + (-3) යන සංඛ්යා 1 හි අනුපූරක ආකාරය එකතු කරන ආයුරු පහත උදාහරණයෙන් දැක්වේ. මෙහිදී බිටු 8 සංඛ්යා නිරූපනයෙන් (8 bits numbers) සියළුම සංඛ්යා ඇත.
+7 = 00000111
+3 = 00000011
-3 = 11111100 (3 යන සංඛ්යාවෙහි 1 හි අනුපූරකය ලබාගත් විට)
(+7) 00000111
(-3) 11111100
00000011
+1
00000100
4
ලකුණු බිටුව (Sign Bit) = +
ඉහත 1 හි අනුපූරක සංඛ්යා සුළු කිරීමෙන් ලැබෙන ප්රතිඵලය සංඛ්යාවේ ලකුණත් සමග +4 ලෙස ලැබේ.
තවත් කොටසක් බලාපොරොත්තු වන්න.