Het 2s-complement in C wordt gegenereerd uit het 1s-complement in C. Zoals we weten, wordt het 1s-complement van een binair getal gecreëerd door bit 1 naar 0 en 0 naar 1 te transformeren; het 2s-complement van een binair getal wordt gegenereerd door één toe te voegen aan het 1s-complement van een binair getal.
Kort gezegd kunnen we zeggen dat het 2s-complement in C wordt gedefinieerd als de som van het ene-complement in C en één.
In de bovenstaande figuur is het binaire getal gelijk aan 00010100, en het ene-complement wordt berekend door bit 1 naar 0 en 0 naar 1 omgekeerd te transformeren. Daarom wordt iemands complement 11101011. Nadat we iemands complement hebben berekend, berekenen we het complement van de twee door 1 op te tellen bij het complement van de ene, en het resultaat is 11101100.
Laten we een programma van 2s-complement maken.
#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]="