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

Конвертация из heximal в int - C++

Восстановить пароль Регистрация
 
dimakozyr
 Аватар для dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
02.12.2013, 02:31     Конвертация из heximal в int #1
Нужно написать функцию для конвертации строки, представленной как heximal, в int.
Например:
Вход:
C++
1
char * pStr = "0xFF";
Выход:
C++
1
int iRes = 255;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2013, 02:31     Конвертация из heximal в int
Посмотрите здесь:

Конвертация int в char* C++
Конвертация числа в строку (int to char) C++
C++ Конвертация строкового типа в int
C++ Не происходит конвертация типа int в float
Конвертация из int в char C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
02.12.2013, 02:42     Конвертация из heximal в int #2
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <string>
 
int main()
{
    std::string str = "0xFF";
    int i = std::stoi(str, nullptr, 0);
    std::cout << i << std::endl;
}
С++11

Добавлено через 1 минуту
А вообще вики:
http://ru.wikipedia.org/wiki/%D8%E5%...EB%E5%ED%E8%FF

Добавлено через 40 секунд
В английской даже код на JS Есть
dimakozyr
 Аватар для dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
02.12.2013, 02:47  [ТС]     Конвертация из heximal в int #3
А какое решение лучше?
C++
1
2
3
4
5
6
7
8
9
10
#include <sstream>
#include <iostream>
 
void func() {
    unsigned int x;
    std::stringstream ss;
    ss << std::hex << "0xFF";
    ss >> x;
    std::cout << static_cast<int>(x) << std::endl;
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
02.12.2013, 03:53     Конвертация из heximal в int #4
вы кастуете беззнаковое число в знаковое, что не есть хорошо.
Здесь нет понятия лучше. Если есть уверенность в том, что будет поддержка С++11, то лучше - первый вариант, иначе второй т.к. первый банально не скомпилируется.
dimakozyr
 Аватар для dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
02.12.2013, 10:27  [ТС]     Конвертация из heximal в int #5
Цитата Сообщение от MrGluck Посмотреть сообщение
Если есть уверенность в том, что будет поддержка С++11
А от чего это зависит? От компилятора?
Yandex
Объявления
02.12.2013, 10:27     Конвертация из heximal в int
Ответ Создать тему
Опции темы

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