Cześć mam problem z zadaniem dotyczącym operacji bitowych w cpp. Motyw tego zadania to wyświetlanie liczby w postaci binarnej bez zer wiodących czyli dla wprowadzonej 5 wyświetli 101, a i nie można korzystać z tablic.
To mój dotychczasowy kod zakładam ze problem jest w liniach 16-18, może nie do końca to rozumiem ale wg mnie powinno być tak że jeżeli wchodzi do ifa gdy znalazło pierwszą jedynkę to wyświetla nam tą jedynkę a później każdą kolejną liczbę binarną zgodnie z sumą.
#include <iostream>
using namespace std;
int main()
{
int value;
cin >> value;
bool first_one = false;
for (unsigned int mask = 0x80000000; mask > 0; mask = mask >> 1) {
if ((value bitand mask) and (!(first_one))) {
first_one = true;
}
if (first_one) {
cout << (value bitor mask);
}
}
}