Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/88: Рейтинг темы: голосов - 88, средняя оценка - 4.69
5 / 5 / 2
Регистрация: 04.07.2010
Сообщений: 200

Символ string в двоичный код

21.02.2012, 20:34. Показов 18996. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть буква или цифра в формате string как её преобразовать в двоичный вариант и сохранить в массиве int, каждый элемент массива int содержит только 0 или 1;
заранее спасибо за помощь, да и я знаю что у меня урезанный гугл
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2012, 20:34
Ответы с готовыми решениями:

Перевод русских символов string в двоичный код и обратно
Столкнулся с проблемой: использовал String a="s"; int mas={0,0,0,0,0,0,0,0}; int d = (int)a; for (int i=0; i<8; i++) ...

Вывести двоичный код файла.
Ребят.. знающие люди подскажите\помогите написать на C++Builder код программы.... она должна по нажатию кнопки на форме открыть...

Перевод string в двоичный код(биты)
Всем привет. Возник такой вопрос : Я делаю что то вроде простой системы идентификации, храню Логин и E (где E = F(Логин;Пароль) )....

17
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
22.02.2012, 08:38
C++
1
2
3
4
5
 string a="s";
 int mas[8]={0,};
 int d = (int)a[0];
 for (int i=0; i<8; i++)
  mas[7-i]=(d>>i)&0x01;
1
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
22.02.2012, 13:22
Для этих целей существует класс bitset
C++
1
2
3
4
5
6
#include <bitset>
#include <string>
#include <climits>
//...
std::string s = "a";
std::bitset<CHAR_BIT> b(s[0]);
1
5 / 5 / 2
Регистрация: 04.07.2010
Сообщений: 200
22.02.2012, 22:26  [ТС]
спасибо вроде оба варианта работают.
только вопрос возник к mimicria что делает эта строчка
C++
1
 int d = (int)a[0];
плюс мне пришлось корректировать а то ерроило. я тут ни чего не испортил ?
C++
1
2
3
4
5
 String a="s";
 int mas[8]={0,0,0,0,0,0,0,0};
 int d = (int)a[1];
 for (int i=0; i<8; i++)
  mas[7-i]=(d>>i)&0x01;
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
23.02.2012, 07:27
Цитата Сообщение от evil0o Посмотреть сообщение
плюс мне пришлось корректировать а то ерроило
Корректировать пришлось, потому что String и string разные вещи.
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.02.2012, 07:28
mimicria, шо? правда?
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
23.02.2012, 07:38
Цитата Сообщение от LK Посмотреть сообщение
mimicria, шо? правда?
Точняк. String - фишка билдера
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.02.2012, 07:42
mimicria, заслужил - получи
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
23.02.2012, 10:47
Цитата Сообщение от evil0o Посмотреть сообщение
что делает эта строчка

*
C++
1
int d = (int)a[0];

Преобразует символ в число типа int.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.02.2012, 21:31
QVO, StrToInt в билдере уже на канает?
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
24.02.2012, 01:05
LK, тут не проканает
Билдер будет ругаться что s (String a="s") - is not a valid integer value.
0
5 / 5 / 2
Регистрация: 04.07.2010
Сообщений: 200
29.02.2012, 21:54  [ТС]
а как обратно в string?
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
29.02.2012, 22:36
evil0o, вообще, у класса TString есть методы ToInt(), ToDouble().
Также, есть общедоступные методы: IntToStr() и обратный ему StrToInt() (аналогичные для UINT, float, double и т.д. )
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
29.02.2012, 22:36
Немного не по теме:
Цитата Сообщение от LK Посмотреть сообщение
Цитата Сообщение от mimicria Посмотреть сообщение
Корректировать пришлось, потому что String и string разные вещи.
mimicria, шо? правда?
Разницы не видно потому что в vcl.h (или во вложенных "заголовках") используется общее пространство std.
На самом деле, правильное название типов:
System::String - для класса из библиотеки визуальных компонентов (VCL);
std::string - для класса из библиотеки стандартных шаблонов (STL).
0
5 / 5 / 2
Регистрация: 04.07.2010
Сообщений: 200
29.02.2012, 23:14  [ТС]
MikeSoft, недоконца понимаю как "01100011" в "c" с помощью ToInt(), ToDouble() .
можно конкретный пример кода ну или другой вариант
0
 Аватар для Sergey-K
238 / 229 / 58
Регистрация: 27.10.2011
Сообщений: 249
01.03.2012, 02:58
Из двоичного в строку:
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
//---------------------------------------------------------------------------
int StrBinToDec(AnsiString str)
{
  int rez = 0;
  int a = 1;
  int k = str.Length() - 1;
  for(int i = 0; i < str.Length(); i++, k--)
    if(str[i + 1] == '1')
      rez |= a << k;
  return rez;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString str = "11001111111100001110100011100010111001011111001000100001";
  AnsiString rez;
  int j = str.Length();
  for(int i = 0; i < j; i+=8)
    {
      AnsiString temp = str;
      str.Delete(1, 8);
      char ch = StrBinToDec(temp.SetLength(8));
      rez += ch;
    }
  Edit1->Text = rez;
}
//---------------------------------------------------------------------------
1
01.03.2012, 03:04

Не по теме:

Цитата Сообщение от MikeSoft Посмотреть сообщение
System::String - для класса из библиотеки визуальных компонентов (VCL);
это из другой песни под названием C++/CLI, а не VCL

0
01.03.2012, 18:55

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение

Не по теме:


это из другой песни под названием C++/CLI, а не VCL

Весьма сомнительно! String - алиас UnicodeString, которая была введена в Delphi VCL.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.03.2012, 18:55
Помогаю со студенческими работами здесь

Заменить каждый символ текста его порядковым номером в таблице ASCII, преобразованным в двоичный код
Здравствуйте помогите пожалуйста Закодировать и раскодировать текст по следующему правилу: заменить каждый символ его порядковым номером...

Преобразовать двоичный код в двоично-десятичный код (Intel 8051)
Прочитать с порта Р0 один байт двоичного кода 8-4-2-1, превратить его в двоично-десятичный код и выдать полученную информацию в порт Р1-Р2,...

перевод десятичного вещественного в машинный код(двоичный код)
пожалуйста , подскажите пожалуйста код C++ ,для перевода вещественного числа в машиное (двоичное представление,32 бит). Без использования...

Построить двоичный код на некоторые сочетания (код на нечетность) для передачи сообщений м12 и м16
Ребята, выручите, пожалуйста! Необходимо построить двоичный код на некоторые сочетания (код на нечетность) для передачи сообщений м12 и...

При вводе символа выдать его двоичный код и код, полученный перестановкой битов в байте
Добрый вечер) Помогите, пожалуйста. Есть программа, которая при вводе символа должна выдать его двоичный код и код, полученный...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru