പൂരകം

ഗണസിദ്ധാന്തത്തിൽ ഒരു ഗണം 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) ഒന്നിന്റെ പൂരകം ലഭിക്കും. David J. Lilja and Sachin S. Sapatnekar, Designing Digital Computer Systems with Verilog, Cambridge University Press, 2005
<table border="1" style="border-collapse: collapse"  width="60%">
27
26
25
24
23
22
21
20
radix exponent
<tr align=center>
128
64
32
<td>16</sup></td>
8
4
2
1
value
</tr>

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
</table>
ഇനി ഇതിന്റെ രണ്ടിന്റെ പൂരകം കിട്ടാൻ ഒന്നിന്റെ പൂരകത്തിൽ ഒന്നു കൂട്ടിയാൽ മതി
<table border="1" style="border-collapse: collapse" width="60%">
27
26
25
24
23
22
21
20
radix exponent
<tr align=center>
128
64
32
<td>16</sup></td>
8
4
2
1
value
</tr>
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
</table>
കമ്പ്യൂട്ടറിൽ ഋണസംഖ്യകൾ (negative numbers) സംഭരിക്കാൻ(represent) ഉപയോഗിക്കുന്ന ഒരു മാർഗ്ഗമാണ് രണ്ടിന്റെ പൂരകം(two's complement scheme). 
അവലംബം

വർഗ്ഗം:ഗണസിദ്ധാന്തം
വർഗ്ഗം:ഗണിതം