Witam mam problem z zamiana z systemu binarnego na dziesietny
treść zadania
W pliku liczby.txt znajduje się 1000 liczb naturalnych zapisanych binarnie. Każda
liczba zapisana jest w osobnym wierszu. Pierwsze pięć wierszy zawiera następujące liczby:
11010100111
11110111111011101
1010100111010100
1101111111111111111111010100101010101001
1010110011001101010011110101010101010111
Każda liczba binarna zawiera co najwyżej 250 cyfr binarnych, co oznacza, że w wielu
językach programowania wartości niektórych z tych liczb nie da się zapamiętać
w pojedynczej zmiennej typu całkowitoliczbowego, np. w języku C++ w zmiennej typu
int.
Napisz program, który da odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku
wynik4.txt, a każdą odpowiedź poprzedź numerem oznaczającym odpowiednie zadanie.
podpunkt C :Znajdź najmniejszą i największą liczbę w pliku liczby.txt. Jako odpowiedź podaj
numery wierszy, w których się one znajdują.
Chciałem zamienić z2na10 system i wtedy znaleźć maks i min ,ale wysypuje mi się podczas zamiany
oto mój kod :
#include <iostream>
#include <fstream>
#include<cstdlib>
using namespace std;
long long z2na10(string s)
{
long long dziesietna=strtol(s.c_str(),NULL,2);
return dziesietna;
}
int main()
{
string s;
ifstream we("liczby.txt");
for(int i=0;i<1000;i++)
{
we>>s;
cout<<z2na10(s)<<endl;
}
return 0;
}
może ktoś wie w jaki sposób da się to zamienić poprawnie ?