Heim >Backend-Entwicklung >C++ >Was sind das 1er-Komplement und das 2er-Komplement von Binärzahlen?

Was sind das 1er-Komplement und das 2er-Komplement von Binärzahlen?

WBOY
WBOYnach vorne
2023-09-11 23:33:021736Durchsuche

Was sind das 1er-Komplement und das 2er-Komplement von Binärzahlen?

Binärzahlen werden in Basis 2 dargestellt. Es werden nur die beiden Ziffern „0“ und „1“ verwendet. Jede Ziffer in einer Binärzahl ist ein Bit.

Beispiel für eine Binärzahl – 0100010111

1er-Komplement

Die Binärzahl wird durch Umkehren der Ziffern der Binärzahl erhalten, d. h. 1 wird in 0 und 0 in 1 umgewandelt.

Beispiel

1’s Complement of 101100 = 010011

Das 2er-Komplement

Das Komplement einer Binärzahl ist das Komplement der Binärzahl plus 1, also das Komplement von 1 + 1.

Beispiel

2’s complement of 101101 is 010011.

Beispielcode

Code zum Finden des Eins- und Zweierkomplements -

#include <iostream>
#include<string.h>
using namespace std;
int main() {
   char binary[10] = "01001011";
   cout<<&ldquo;Binary number is &rdquo;<<binary;
   //once complement....
   int length = strlen(binary);
   for(int i=0;i<length;i++) {
      if(binary[i] == &#39;0&#39;) {
         binary[i]= &#39;1&#39;;
      } else
         binary[i] = &#39;0&#39;;
   }
   cout<<&ldquo;One&rsquo;s Complement is &rdquo;<<binary<<endl;
   // cout<<binary[length-1];
   for(int i = length-1; i>=0; i--) {
      // cout<<binary[i];
      if(binary[i] == &#39;0&#39;) {
         binary[i] = &#39;1&#39;;
         //cout<<binary[i];
         break;
      } else {
         binary[i] = &#39;0&#39;;
      }
   }
   cout<<&ldquo;Two&rsquo;s complement is &rdquo;<<binary;
   return 0;
}

Ausgabe

Binary number is 01001011
One&rsquo;s complement is 10110100
Two&rsquo;s complement is 10110101

Das obige ist der detaillierte Inhalt vonWas sind das 1er-Komplement und das 2er-Komplement von Binärzahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen