Я хочу преобразовать шестнадцатеричную строку в 16-битную десятичную в RAD Studio C ++ Builder XE.
Например, у меня есть шестнадцатеричная строка «8FC». Двоичное представление этого — 100011111100. Десятичное представление этого: 2300.
Как сделать это преобразование в C ++ Builder XE?
Наконец, я нахожу правильный способ, как сделать это преобразование на Эта статья. Просто попробуйте позвонить StrToInt()
процедура, но предварять$» как это:
s1 = "8FC";
int i = StrToInt(UnicodeString("$") + s1);
Edit1->Text = IntToStr(i);
Одним из простых способов является использование 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;
}