Le complément à 2 en C est généré à partir du complément à 1 en C. Comme nous le savons, le complément à 1 d'un nombre binaire est créé en transformant le bit 1 en 0 et 0 en 1 ; le complément à 2 d'un nombre binaire est généré en ajoutant un au complément à 1 d'un nombre binaire.
En bref, on peut dire que le complément à 2 dans C est défini comme la somme du complément à un dans C et de un.
Dans la figure ci-dessus, le nombre binaire est égal à 00010100, et son complément à un est calculé en transformant le bit 1 en 0 et 0 en 1 vice versa. Par conséquent, le complément à un devient 11101011. Après avoir calculé le complément à un, nous calculons le complément à deux en ajoutant 1 au complément à un, et son résultat est 11101100.
Créons un programme de complément à 2.
#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]="