2016-01-21 2 views
-5

, когда у меня есть двоичный код, как «01010100011001010111001101110100" , как я могу преобразовать это обратно в„тест“C++ Builder:?. Преобразование двоичного кода в AnsiString

Благодаря

+3

Что вы пробовали? Как работали (или не работали)? Не могли бы вы показать нам свой код (желательно в виде [Минимального, полного и проверяемого примера] (http://stackoverflow.com/help/mcve)) и сообщить нам, что с ним не так. И если вы еще этого не сделали, пожалуйста, [прочитайте о том, как задавать хорошие вопросы] (http://stackoverflow.com/help/how-to-ask). –

+1

Вы можете написать программу, чтобы сделать это, или, может быть, использовать карандаш и бумагу и таблицу ASCII ... Почему бы вам не подумать и не попробовать что-то, а затем задавать вопросы, если у вас есть проблемы с этим, которые вы не можете решить? Вы можете удивить себя. –

ответ

0
#include <iostream> 
#include <string> 
#include <climits> 

int main(int, char **) 
{ 
    std::string str("01010100011001010111001101110100"); 

    std::string result; 
    for(size_t i = 0; i < (str.size()/CHAR_BIT); ++i) 
     result.push_back(static_cast<char>(stoi(str.substr(8 * i, CHAR_BIT), nullptr, 2))); 

    std::cout << "result = " << result << std::endl; 

    return 0; 
} 
1

Существует много способов это зависит от языка.В общем случае вы разбиваете двоичную строку на куски по 8 бит (байт). Затем вы вычисляете десятичное значение каждого байта. Ссылка ниже описывает, как это сделать. имеют десятичное значение, у вас есть каждая буква, отсюда это зависит от языка. В C вы можете сделать массив символов каждого из них и создать c-строку.

http://www.wikihow.com/Convert-from-Binary-to-Decimal

Вы также можете посмотреть таблицу.

Смежные вопросы