Heim > Artikel > Backend-Entwicklung > 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 -
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.
#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; }
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!