Betrachten Sie das unten angegebene Beispiel -
Die Eingabe ist wie folgt:
Eingabe der Binärzahl: 10010001
Die Ausgabe ist wie folgt:
1er-Komplement von 10010001 ist 0110111 0
2 vs 10010001 Das Komplement von ist 01101111
Beziehen Sie sich auf einen Algorithmus, um das 2'c-Komplement einer gegebenen Binärzahl zu finden.
Schritt 1 – Los geht’s.
Schritt 2 – Lesen Sie die Binärzahl zur Laufzeit.
Schritt 3 – Binärzahl nach strdp kopieren.
Schritt 4 – len: = strlen(str)
Schritt 5 – Für i = 0 bis len-1 ausführen
Schritt 5.1 – Wenn str[i] == '1' dann
Schritt 5.1.1 – str [i] == '0'
Schritt 5.2 - Sonst
Schritt 5.2.1 - str[i] == '1'
Schritt 5.3 - i: = i+1
Schritt 5.3 - i: = i +1
p>
Schritt 6 – Maske: = 1
Schritt 7 – Für i: = len-1 bis 0 tun
Schritt 7.1 – Wenn Maske == 1, dann p>
Schritt 7.1 .1 − Wenn str[ i] == '1' then
Schritt 7.1.1.1 − str[i]: = '0'
Schritt 7.1.1.2 − mask: = 1
Schritt 7.1.2 − else
Schritt 7.1.2.1 − str[i]: = '1'
Schritt 7.1.2.2 – Maske: = 0
Schritt 7.1.3 – End if
Schritt 7.2 – End if
Schritt 8 – 2er-Komplement drucken.
Schritt 9 – Stopp.
Das Folgende ist ein C-Programm, um das 2'c-Komplement einer gegebenen Binärzahl zu finden -
Live-Demonstration
#include <string.h> #include<stdio.h> main(){ char str[32],strdp[32]; int mask,i; printf("Enter a binary number:"); scanf("%s",str); strcpy(strdp,str); for(i=0;i<strlen(str);i++) /* computing 1's complement */{ if(str[i]=='1') str[i]='0'; else str[i]='1'; } printf("1\'s complement of %s is %s</p><p>",strdp,str); mask=1; for(i=strlen(str)-1;i>=0;i--){ if(mask==1){ if(str[i]=='1'){ str[i]='0'; mask=1; } else{ str[i]='1'; mask=0; } } } printf("2\'s complement of %s is %s",strdp,str); }
Wenn das obige Programm ausgeführt wird, werden die folgenden Ergebnisse erzeugt -
Enter a binary number:11001110 1's complement of 11001110 is 00110001 2's complement of 11001110 is 00110010
Das obige ist der detaillierte Inhalt vonFinden Sie das 2er-Komplement einer gegebenen Binärzahl mit C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!