Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <bitset>
- using namespace std;
- int bit_and_one(int a, int b) {
- int c = a & b;
- return c;
- }
- int bit_and_two(int a, int b) {
- bitset <8> number_one(a);
- //cout << number_one.to_ulong() << " = " << number_one << endl;
- bitset <8> number_two(b);
- //cout << number_two.to_ulong() << " = " << number_two << endl;
- bitset <8> number;
- for (int i = 7; i >= 0; i--) {
- if (number_one[i] == 1) {
- if (number_two[i] == 1) {
- number[i] = 1;
- }
- else {
- number[i] = 0;
- }
- }
- else {
- if (number_two[i] == 1) {
- number[i] = 0;
- }
- else {
- number[i] = 0;
- }
- }
- }
- //cout << endl;
- //cout << number.to_ulong() << " = " << number << endl;
- return number.to_ulong();
- }
- void can_bit_and() {
- for (int i = 1; i < 1000; i += 2) {
- bit_and_one(i, i + 2) == bit_and_two(i, i + 2);
- }
- }
- int main() {
- can_bit_and();
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement