Witam,
mam problem przy zamianie z systemu binarnego na system dziesiętny. Poniżej jest kod i po uruchomieniu otrzymuje liczbę 2147483647 - jest to maksymalny zakres dla zmiennej typu int - a ja mam w kodzie unsigned long long int, więc dlaczego pojawia się ta liczba zamiast 4294967297. Proszę o pomoc.
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
void bin_to_dec (string binarna)
{
unsigned long long int dziesietna = strtol(binarna.c_str(), NULL, 2);
cout << dziesietna << endl;
}
int main()
{
string stringBinarna="10000000000000000000000000000001";
bin_to_dec(stringBinarna);
return 0;
}