C'deki 2'ler tümleyeni, C'deki 1'ler tümleyeninden üretilir. Bildiğimiz gibi, ikili bir sayının 1'ler tümleyeni, bit 1'in 0'a ve 0'ın 1'e dönüştürülmesiyle yaratılır; Bir ikili sayının 2'lere tümleyeni, bir ikili sayının 1'lere tümleyenine bir eklenerek oluşturulur.
Kısaca C'deki 2'lerin tümleyeninin, C'deki birin tümleyeni ile bir'in toplamı olarak tanımlandığını söyleyebiliriz.
Yukarıdaki şekilde ikili sayı 00010100'e eşittir ve bunun bire tümleyeni, 1 bitinin 0'a ve 0 bitinin 1'e dönüştürülmesiyle hesaplanır. Dolayısıyla birin tümleyeni 11101011 oluyor. Birin tümleyenini hesapladıktan sonra birin tümleyenine 1 ekleyerek ikinin tümleyenini hesaplıyoruz ve sonuç 11101100 oluyor.
2'lerin tümleyeninden oluşan bir program oluşturalım.
#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]="