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

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

WBOY
Freigeben: 2023-08-27 17:53:06
nach vorne
1155 Leute haben es durchsucht

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)
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe

The sum of 678 and 436 is 1114
Nach dem Login kopieren

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!

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