2s komplements C tiek ģenerēts no 1s komplementa C. Kā zināms, bināra skaitļa 1s komplements tiek izveidots, pārveidojot bitu 1 uz 0 un 0 uz 1; bināra skaitļa 2s papildinājums tiek ģenerēts, pievienojot vienu bināra skaitļa 1s papildinājumam.
Īsāk sakot, mēs varam teikt, ka 2s papildinājums C ir definēts kā viena papildinājuma summa C un viens.
Iepriekš redzamajā attēlā binārais skaitlis ir vienāds ar 00010100, un tā papildinājums tiek aprēķināts, pārveidojot bitu 1 uz 0 un 0 uz 1 otrādi. Tāpēc viena komplements kļūst par 11101011. Pēc sava komplementa aprēķināšanas mēs aprēķinām divu komplementu, viena papildinājumam pievienojot 1, un tā rezultāts ir 11101100.
Izveidosim programmu no 2s papildinājuma.
#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]="