#include <iostream>
using namespace std;
void ZamianaNaBinarne(int liczba)
{
const int rozmiar=32;
int tab[rozmiar]={0};
int i=0;
while(liczba)
{
tab[i++]=liczba&1;
liczba>>=1;
}
for(int j=i-1;j>=0;j--)
{
cout << tab[j] << " ";
}
}
int main()
{
cout << "Podaj liczbe" << endl;
int liczba=0; cin >> liczba;
ZamianaNaBinarne(liczba);
return 0;
}
Witam. Napisałem tu program, który zamienia liczby całkowite w systemie dziesiętnym na system binarny. I tutaj pojawia się problem. Mój program nie obsługuje liczb ujemnych. Nie wiem dlaczego. Wydaje mi się, że liczby ujemne w c++ są zapisywane w systemie U2. Ktoś mi tutaj wytłumaczy o co chodzi z liczbami ujemnymi oraz dlaczego mój program ich nie obsługuje.