Heim > Backend-Entwicklung > C++ > Hauptteil

Finden Sie das 2er-Komplement einer gegebenen Binärzahl mit C

PHPz
Freigeben: 2023-09-05 15:21:06
nach vorne
1230 Leute haben es durchsucht

Finden Sie das 2er-Komplement einer gegebenen Binärzahl mit C

Betrachten Sie das unten angegebene Beispiel -

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

Algorithmus

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.

Programm

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&#39;s complement */{
      if(str[i]==&#39;1&#39;)
         str[i]=&#39;0&#39;;
      else
         str[i]=&#39;1&#39;;
   }
   printf("1\&#39;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]==&#39;1&#39;){
            str[i]=&#39;0&#39;;
            mask=1;
         }
         else{
            str[i]=&#39;1&#39;;
            mask=0;
         }
      }
   }
   printf("2\&#39;s complement of %s is %s",strdp,str);
}
Nach dem Login kopieren

Ausgabe

Wenn das obige Programm ausgeführt wird, werden die folgenden Ergebnisse erzeugt -

Enter a binary number:11001110
1&#39;s complement of 11001110 is 00110001
2&#39;s complement of 11001110 is 00110010
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage