AND, OR, XOR

0

Napisz program, który w zależności od wyboru dokona operacji
bitowej na dwóch liczbach: AND, OR, XOR i wyświetli wynik
po pierwsze nie wiem jak w prosty sposob napisac to zeby program wyswietlił mi bity liczby dziesietnej (miejsce w pierwszysm voidzie), po drugie cos mam nie tak ze switchem i jak zwykle nie wiem nawet co :(
Czy moglby ktos powiedziec w czym problem?

#include <iostream>
using namespace std;

void printBits(unsigned int n)

{

    const int Bits = 8 * sizeof n;
}

void showOperation(unsigned int a, unsigned int b, unsigned int result, char op)
{
    cout << "   ";
    printBits(a);
    cout << " (" << a << ")\n " << op << ' ';
    printBits(b);
    cout << " (" << b << ")\n = ";
    printBits(result);
    cout << " (" << result << ")\n\n";
}

int main()
{
    unsigned int a = 42, b = 57;
    switch (choise) {
    case 1:
        showOperation(a, b, a | b, '|');
        break;
    case 2:
        showOperation(a, b, a & b, '&');
        break;
    case 3:
        showOperation(a, b, a ^ b, '^');
        break;
    }
0

Co to jest pierwszy void?

Jak chcesz wypisać bity jako tekst to musisz konwersję wykonać sama, lub użyć np. std::bitset

1
polka123 napisał(a):

(...) pierwsze nie wiem jak w prosty sposob napisac to zeby program wyswietlił mi bity liczby dziesietnej (...)

to proste, wystarczy robić dzielenie modulo 2 i sprawdzić czy reszta dzielenia to 1 lub 0

1 użytkowników online, w tym zalogowanych: 0, gości: 1