помогите, почему не работает перевод из 16 в 10 систему

274
20 сентября 2017, 12:38

при вводе числа AA в 16и ричнной системе выдаёт не 170 а 160

#include <windows.h>
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
int n;
int first, sec;
char a;
int res = 0;
string d1, d2;
cin >> first >> d1 >> sec;
int razmer = d1.size();
char *f = new char[d1.size()];
int i, j, dop;
int B[26];
dop = 10;//A,B,C...
for (a = 'A'; a <='Z'; a++) {//то на что умножаем 
    B[a] = 0;
    B[a] = B[a] + dop;
    dop++;
    }
n = 0;
for (i = (razmer - 1); i >= 0; i--) { //делаем так чтобы последний символ 
находился в первом элементе массива
    f[i] = (char)d1[(n)];
    n++;
}
cout<<f[0] << f[1] << f[2]<<"\n";
int m = 0;
for (i = 0; i < d1.size(); i++) {
    if ((f[i] >= 'A') && (f[i] <= 'Z')) {
        res = res + (B[f[i]] * pow(first, m));
        cout << B[f[i]] * pow(first, m);
        m++;
    }else
    if ((f[i] >= 0) && (f[i] <= 9)) {
        res = res + f[i] * pow(first, m);
        m++;
    }

}

cout << "\n" << res;
system("pause");
return 0;
}
Answer 1

Если вам не принципиальна алгоритмистика, то можно и так:

#include "stdafx.h"
#include <iostream>
int main()
{
    long number;
    std::cout << "input number in hex: ";
    std::cin >> std::hex >> number;
    std::cout << "output number in dec: " << number << std::endl;
    system("pause");
    return 0;
}
READ ALSO
Объясните как настроить среду запуска и отладки драйвера [требует правки]

Объясните как настроить среду запуска и отладки драйвера [требует правки]

Объясните, пожалуйста, как настроить среду запуска и отладки драйвера на Windows чтобы target машина была виртуальная, а написание происходило...

211
Как переменную int положить в массив char в С++? [требует правки]

Как переменную int положить в массив char в С++? [требует правки]

Как переменную int положить в массив char в С++

281
Как возобновить поток cin после ctrl+z

Как возобновить поток cin после ctrl+z

Вопрос, если для выхода из цикла нажать ctrl + z, то после этого ни одна команда cin не будет работатьПодскажите, как исправить?

250