Heim  >  Artikel  >  Backend-Entwicklung  >  Addieren Sie zwei vorzeichenlose Zahlen mithilfe bitweiser Operationen in C++

Addieren Sie zwei vorzeichenlose Zahlen mithilfe bitweiser Operationen in C++

WBOY
WBOYnach vorne
2023-08-27 17:53:061109Durchsuche

Addieren Sie zwei vorzeichenlose Zahlen mithilfe bitweiser Operationen in C++

Eine vorzeichenlose Zahl, dargestellt als Bitstrom in Binärform. Die binäre Form von

54 ist 110110.

Um zwei Zahlen mithilfe von Bits zu addieren, addieren wir sie in binärer Form mithilfe der binären Additionslogik. Die Regel der

Bit-Addition lautet -

  • 0+0 = 0
  • 1+ 0 = 1
  • 0+1 = 1
  • 1+1 = 0, Übertrag = 1

Nehmen wir ein Beispiel: Addition zweier Zahlen,

Input: a = 21 (10101) , b = 27 (11011)
Output: 48 (110000)

Erklärung - 10101 + 11011 = 110000. Wir werden Bits hinzufügen, beginnend mit dem niedrigstwertigen Bit. Dann verbreiten Sie es an die nächste Person.

Beispiel

#include <bits/stdc++.h>
#define M 32
using namespace std;
int binAdd (bitset < M > atemp, bitset < M > btemp){
   bitset < M > ctemp;
   for (int i = 0; i < M; i++)
      ctemp[i] = 0;
   int carry = 0;
   for (int i = 0; i < M; i++) {
      if (atemp[i] + btemp[i] == 0){
         if (carry == 0)
            ctemp[i] = 0;
         Else {
            ctemp[i] = 1;
            carry = 0;
         }
      }
      else if (atemp[i] + btemp[i] == 1){
         if (carry == 0)
            ctemp[i] = 1;
         else{
            ctemp[i] = 0;
         }
      }
      else{
         if (carry == 0){
            ctemp[i] = 0;
            carry = 1;
         }
         else{
            ctemp[i] = 1;
         }
      }
   }
   return ctemp.to_ulong ();
}
int main () {
   int a = 678, b = 436;
   cout << "The sum of " << a << " and " << b << " is ";
   bitset < M > num1 (a);
   bitset < M > num2 (b);
   cout << binAdd (num1, num2) << endl;
}

Ausgabe

The sum of 678 and 436 is 1114

Das obige ist der detaillierte Inhalt vonAddieren Sie zwei vorzeichenlose Zahlen mithilfe bitweiser Operationen in C++. 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