Форум программистов, компьютерный форум CyberForum.ru

как преобразовать шестнадцатеричную строку в целое десятичное число - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Lennadij
3 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 45
13.12.2011, 20:19     как преобразовать шестнадцатеричную строку в целое десятичное число #1
как преобразовать данную шестнадцатеричную строку в целое десятичное число (ни как не могу понять)

Добавлено через 10 минут
как возвратить десятичное значение двоичной строки я поняла вот:
C++
1
2
3
4
5
6
7
{
    int k=s[len-1]-48;
    int st=2;
    for (int i=len-2; i>=0; i--)
    {   k+=((s[i]-48)*st); st*=2;}
    return k;
 }
Надеюсь правильно.

Добавлено через 1 час 4 минуты
P.S. помогите плиз, а то из-за этого не могу перейти к дальнейшему описанию
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2011, 20:19     как преобразовать шестнадцатеричную строку в целое десятичное число
Посмотрите здесь:

C++ Как строку можно преобразовать в число???
C++ Как преобразовать число в строку
C++ Как преобразовать строку цифр в число?
C++ не получаеться преобразовать 8 ьит в 1 байт (биты в десятичное число)
Как преобразовать большое число в строку C++
C++ Написать и протестировать функцию, которая преобразует строку шестнадцатеричных цифр в эквивалентное ей целое десятичное число
Преобразовать введенное с клавиатуры двоичное восьмиразрядное число в десятичное C++
Преобразовать десятичное число в число с заданным основанием C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.12.2011, 20:23     как преобразовать шестнадцатеричную строку в целое десятичное число #2
Цитата Сообщение от Lennadij Посмотреть сообщение
как преобразовать данную шестнадцатеричную строку в целое десятичное число
К примеру, строка 0xABC. Для того, чтобы преобразовать ее в число, необходимо к числу прибвалять произведение символа в десятичной системе и 16 в степени %позиция элемента%. Нумерация справа с нуля. Т.е.
Код
0xABC = 10 * 16 ^ 2 + 11 * 16 ^ 1 + 12 * 16 ^ 0 = 2748
Ланселот
6 / 6 / 1
Регистрация: 30.08.2011
Сообщений: 32
13.12.2011, 20:32     как преобразовать шестнадцатеричную строку в целое десятичное число #3
Цитата Сообщение от Lennadij Посмотреть сообщение
как преобразовать данную шестнадцатеричную строку в целое десятичное число (ни как не могу понять)

Добавлено через 10 минут
как возвратить десятичное значение двоичной строки я поняла вот:
C++
1
2
3
4
5
6
7
{
    int k=s[len-1]-48;
    int st=2;
    for (int i=len-2; i>=0; i--)
    {   k+=((s[i]-48)*st); st*=2;}
    return k;
 }
Надеюсь правильно.

Добавлено через 1 час 4 минуты
P.S. помогите плиз, а то из-за этого не могу перейти к дальнейшему описанию
Если поможет, то вот функция для билдеровского проекта
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
AnsiString HexToInt (AnsiString g)
{
   int h, hh=0, step=1;
  int len=g.Length();
  AnsiString s;
   for (int i=1;i<=len;i++)
    {
     s=g.SubString(i,1);
      if ((s=="A")||(s=="a")) h=10;
         else if ((s=="B")||(s=="b")) h=11;
            else if ((s=="C")||(s=="c")) h=12;
               else if ((s=="D")||(s=="d")) h=13;
                 else if ((s=="E")||(s=="e")) h=14;
                    else if ((s=="F")||(s=="f")) h=15;
                      else
                       {
                         try
                          {
                            h=StrToInt(s);
                          }
                         catch (EConvertError&)
                          {
                           ShowMessage("Вы ввели неправильный символ!");
                          }
                        }
      if (i==len) hh=hh+h;
        else
          {
            for (int j=1;j<=(len-i);j++)
              step=step*16;
              hh=hh+step*h;
          }
      step=1;
     }
  return (IntToStr(hh));
}
Yandex
Объявления
13.12.2011, 20:32     как преобразовать шестнадцатеричную строку в целое десятичное число
Ответ Создать тему
Опции темы

Текущее время: 17:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru