Komplement 2s u C generira se iz komplementa 1s u C. Kao što znamo da se komplement 1s binarnog broja stvara transformacijom bita 1 u 0 i 0 u 1; komplement 2s binarnog broja generira se dodavanjem jedinice komplementu 1s binarnog broja.
Ukratko, možemo reći da je komplement 2s u C definiran kao zbroj komplementa jedan u C i jedan.
Na gornjoj slici binarni broj jednak je 00010100, a njegov komplement jedinica izračunava se transformacijom bita 1 u 0 i 0 u 1 obrnuto. Prema tome, jedan komplement postaje 11101011. Nakon izračunavanja jednog komplementa, izračunavamo komplement dvojke dodavanjem 1 komplementu jedinice, a rezultat je 11101100.
Kreirajmo program od 2s komplementa.
#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]="