Nombor tidak bertanda diwakili sebagai aliran bit yang ditulis dalam bentuk binari. Bentuk binari
54 ialah 110110.
Untuk menambah dua nombor menggunakan bit, kami akan menambahnya dalam bentuk binari menggunakan logik penambahan binari. Peraturan penambahan
bit ialah -
ambil contoh, Menambah dua nombor,
Input: a = 21 (10101) , b = 27 (11011) Output: 48 (110000)
Penjelasan - 10101 + 11011 = 110000. Kami akan menambah bit bermula dari bit yang paling tidak ketara. Kemudian sebarkan kepada orang seterusnya.
#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
Atas ialah kandungan terperinci Tambah dua nombor tidak bertanda menggunakan operasi bitwise dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!