Как закодировать шестнадцатеричную строку в Integer в BCB XE

Я хочу преобразовать шестнадцатеричную строку в 16-битную десятичную в RAD Studio C ++ Builder XE.

Например, у меня есть шестнадцатеричная строка «8FC». Двоичное представление этого — 100011111100. Десятичное представление этого: 2300.

Как сделать это преобразование в C ++ Builder XE?

2

Решение

Наконец, я нахожу правильный способ, как сделать это преобразование на Эта статья. Просто попробуйте позвонить StrToInt() процедура, но предварять$» как это:

s1 = "8FC";
int i = StrToInt(UnicodeString("$") + s1);
Edit1->Text = IntToStr(i);
5

Другие решения

Одним из простых способов является использование std:stringstream

#include <ios>
#include <sstream>
#include <ostream>
#include <iostream> // MS & Borland seem to be deficient in requiring this

int main()
{
unsigned short val;

std::stringstream st("8FC");
st >> std::hex >> val;

// convert it back to text as decimal
st.clear();
st << std::dec << val;
std::cout << "Decimal value " << st.str() << std::endl;
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector