പൂരകം
ഗണസിദ്ധാന്തത്തിൽ ഒരു ഗണം A യുടെ പൂരകം(complement) എന്ന് പറയുന്നത് ആ ഗണത്തിന് പുറത്തുള്ള വസ്തുക്കളെയാണ്. പൂരകം രണ്ട് തരമുണ്ട് കേവല പൂരകവും, ആപേക്ഷിക പൂരകവും. A യുടെ കേവല പൂരകം സമസ്തഗണം U വിൽ ഉള്ളതും A യിൽ ഇല്ലാത്തവയുമാണ്. A യുടെ B നിന്നുള്ള ആപേക്ഷിക പൂരകം, B യിൽ ഉള്ളതും A യിൽ ഇല്ലാത്തതുമായ വസ്തുക്കളുമാണ് (ഇവിടെ A, B യുടെ ഉപഗണം ആവാം, അവാതിരിക്കയും ചെയ്യാം). ഇതേ തത്ത്വം സംഖ്യകൾക്കും പ്രയോഗിക്കാം. b മൂലകം(radix) ഉള്ള n അക്കങ്ങളുള്ള ഒരു സംഖ്യ y യുടെ മൂലകപൂരകം(radix complement) കിട്ടാനുള്ള സൂത്രവാക്യം ഇപ്രകാരമാണ് : bn-y. ഉദാഹരണത്തിന് 12 ന്റെ മൂലകപൂരകം 102 - 12 = 88 ആകുന്നു. 12 ന്റെ പൂരകം ഇപ്രകാരവും ലഭിക്കാം
9 9 - 1 2 _____ 8 7 + 1 _____ 8 8
ഈ രീതി ഉപയോഗിച്ച് ദ്വയാങ്കസംഖ്യാവ്യവസ്ഥയിലുള്ള ഒരു സംഖ്യയുടെ ഒന്നിന്റെ പൂരകവും , രണ്ടിന്റെ പൂരകവും ലഭിക്കാം. ഒന്നിന്റെ പൂരകം കിട്ടാൻ ആ വാക്കിൽ ഉണ്ടാകാവുന്ന ഏറ്റവും വലിയ സംഖ്യയിൽ നിന്ന് പൂരകം എടുക്കേണ്ട സംഖ്യ വ്യവകലനം ചെയ്യണം. ഉദാഹരണത്തിനു് 12 എന്ന സംഖ്യ 8 ബിറ്റ് വാക്ക് വലിപ്പം (word size) ഉള്ള കമ്പ്യൂട്ടറിൽ ഇങ്ങനെയാണ് കാണുക : 0 0 0 0 1 1 0 0 ഇതിന്റെ ഒന്നിന്റെ പൂരകം താഴെക്കാണുന്ന രീതിയിൽ ലഭിക്കാം. ഓരോ ബിറ്റും തിരിച്ചിട്ടാലും(flip each bit) ഒന്നിന്റെ പൂരകം ലഭിക്കും. [1]
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | radix exponent |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | value |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | all bits on |
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | subtract 12 |
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | result |
ഇനി ഇതിന്റെ രണ്ടിന്റെ പൂരകം കിട്ടാൻ ഒന്നിന്റെ പൂരകത്തിൽ ഒന്നു കൂട്ടിയാൽ മതി
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | radix exponent |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | value |
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | + |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | = |
1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | result |
കമ്പ്യൂട്ടറിൽ ഋണസംഖ്യകൾ (negative numbers) സംഭരിക്കാൻ(represent) ഉപയോഗിക്കുന്ന ഒരു മാർഗ്ഗമാണ് രണ്ടിന്റെ പൂരകം(two's complement scheme).
അവലംബം
[തിരുത്തുക]- ↑ David J. Lilja and Sachin S. Sapatnekar, Designing Digital Computer Systems with Verilog, Cambridge University Press, 2005