Maison >développement back-end >C++ >Que sont le complément à 1 et le complément à 2 des nombres binaires ?

Que sont le complément à 1 et le complément à 2 des nombres binaires ?

WBOY
WBOYavant
2023-09-11 23:33:021699parcourir

Que sont le complément à 1 et le complément à 2 des nombres binaires ?

Les nombres binaires sont représentés en base 2. Il utilise uniquement les deux chiffres « 0 » et « 1 ». Chaque chiffre d'un nombre binaire est un bit.

Exemple de nombre binaire - 0100010111

Complément de 1

Le nombre complémentaire binaire est obtenu en inversant les chiffres du nombre binaire, c'est-à-dire que 1 est converti en 0 et 0 est converti en 1.

Exemple

1’s Complement of 101100 = 010011

Le complément de 2

Le complément d'un nombre binaire est le complément du nombre binaire plus 1, c'est-à-dire le complément de 1 + 1.

Exemple

2’s complement of 101101 is 010011.

Exemple de code

Code pour trouver le complément à un et deux -

#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;
}

sortie

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer