Advertisement
TwITe

Untitled

Aug 3rd, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <bitset>
  4. using namespace std;
  5.  
  6. int bit_and_one(int a, int b) {
  7.     int c = a & b;
  8.     return c;
  9. }
  10.  
  11. int bit_and_two(int a, int b) {
  12.  
  13.     bitset <8> number_one(a);
  14.     //cout << number_one.to_ulong() << " = " << number_one << endl;
  15.     bitset <8> number_two(b);
  16.     //cout << number_two.to_ulong() << " = " << number_two << endl;
  17.     bitset <8> number;
  18.     for (int i = 7; i >= 0; i--) {
  19.         if (number_one[i] == 1) {
  20.             if (number_two[i] == 1) {
  21.                 number[i] = 1;
  22.             }
  23.             else {
  24.                 number[i] = 0;
  25.             }
  26.         }
  27.         else {
  28.             if (number_two[i] == 1) {
  29.                 number[i] = 0;
  30.             }
  31.             else {
  32.                 number[i] = 0;
  33.             }
  34.         }
  35.     }
  36.     //cout << endl;
  37.     //cout << number.to_ulong() << " = " << number << endl;
  38.     return number.to_ulong();
  39. }
  40.  
  41. void can_bit_and() {
  42.     for (int i = 1; i < 1000; i += 2) {
  43.         bit_and_one(i, i + 2) == bit_and_two(i, i + 2);
  44.     }
  45. }
  46.  
  47. int main() {
  48.     can_bit_and();
  49.     system("PAUSE");
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement