يتم إنشاء تكملة 2s في لغة C من تكملة 1s في لغة C. وكما نعلم أن تكملة 1s للرقم الثنائي يتم إنشاؤها عن طريق تحويل البت 1 إلى 0 ومن 0 إلى 1؛ يتم إنشاء المكمل 2s للرقم الثنائي عن طريق إضافة واحد إلى المكمل 1s للرقم الثنائي.
باختصار، يمكننا القول أن مكمل 2s في C يتم تعريفه على أنه مجموع مكمل الواحد في C وواحد.
في الشكل أعلاه، الرقم الثنائي يساوي 00010100، ويتم حساب مكمله بتحويل البت 1 إلى 0 و0 إلى 1 بالعكس. لذلك يصبح مكمل الفرد 11101011. وبعد حساب مكمله، نحسب مكمل الاثنين بإضافة 1 إلى مكمل الواحد، وتكون نتيجته 11101100.
لنقم بإنشاء برنامج مكمل 2S.
#include int main() { int n; // variable declaration printf('Enter the number of bits do you want to enter :'); scanf('%d',&n); char binary[n+1]; // binary array declaration; char onescomplement[n+1]; // onescomplement array declaration char twoscomplement[n+1]; // twoscomplement array declaration int carry=1; // variable initialization printf(' Enter the binary number : '); scanf('%s', binary); printf('%s', binary); printf(' The ones complement of the binary number is :'); // Finding onescomplement in C for(int i=0;i<n;i++) { if(binary[i]="='0')" onescomplement[i]="1" ; else } onescomplement[n]="