Итак, у меня есть две шестнадцатеричные строки — "3b101c091d53320c000910"
и "071d154502010a04000419"
. Когда я использую для них strtol()
, я получаю одинаковое значение для обеих строк.
Я пробовал следующий код-
string t1="3b101c091d53320c000910";
long int hext1=strtol(t1.c_str(),0,16);
string t2="071d154502010a04000419";
long int hext2=strtol(t2.c_str(),0,16);
cout<<hext1<<endl;
cout<<hext2<<endl;
Оба дают мне одинаковое значение: 9223372036854775807
.
Я не знаю, как именно работает strtol(), так как я новичок в C++, но он дает мне одно и то же значение для двух разных шестнадцатеричных строк. Почему?