Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int _hextodec()
- {
- const int size = 16;
- long long int power[size], pow = 1;
- long long int dec = 0;
- char hex[size] = {};
- cout << "Введите шестнадцатиричное (hexadecimal) число -> "; cin >> hex; cout << endl;
- for (int i = 0; i < size; i++)
- {
- power[i] = pow;
- pow *= 16;
- }
- //int i = 0;
- //for (int i = 0; i < size; ((hex[i] == 'A') ? hex[i] = (int)10 : (hex[i] == 'B') ? hex[i] = (int)11 : (hex[i] == 'C') ? hex[i] = (int)12 : (hex[i] == 'D') ? hex[i] = (int)13 :
- // (hex[i] == 'E') ? hex[i] = (int)14 : (hex[i] == 'F') ? hex[i] = (int)15 : /* (hex[i] <= 0) ? hex[i] *= (int)0 : */ hex[i] = (char)hex[i] - 48), i++);
- int Digits = 0;
- for (int i = 0; hex[i] != 0; i++)
- {
- if (hex[i] >= 65 && hex[i] <= 70) hex[i] -= 55;
- else if (hex[i] >= 97 && hex[i] <= 102) hex[i] -= 87;
- else if (hex[i] >= 48 && hex[i] <= 57) hex[i] -= 48;
- Digits++;
- }
- for (int i = 0; i < Digits; i++)
- {
- dec = dec + hex[Digits - 1 - i] * power[i];
- }
- /*for (int i = size - 1, j = 0; i >= 0; i--)
- {
- if (hex[i] > 0) dec = dec + ((int)hex[i] * power[j++]);
- }*/
- cout << "Decimal: " << dec << endl << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement