0 / 0 / 0
Регистрация: 27.11.2018
Сообщений: 56
1

Как перевести ASCII код символа в двоичный вид?

14.10.2020, 17:39. Показов 2739. Ответов 10

Author24 — интернет-сервис помощи студентам
У меня есть слово содержащие 7 символов, как с помощью ASCII перевести его в двоичный код? Есть какие-нибудь функции:?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2020, 17:39
Ответы с готовыми решениями:

Как перевести ASCII код символа в двоичный вид?
У меня из файла считывается какой-то текст .И нужно чтобы код ASCII символы посимвольно в двоичной...

Перевести ASCII код в двоичный формат
Я считываю с файла слова.Оно переводится в ASCII код. Не получается перевести ASCII код в двоичный...

Как перевести QByteArray в двоичный вид?
Здравствуйте, собственно вопрос.. Формирую посылку для COM порта, необходимо передать посылку в...

Как определить двоичный код символа.
Как определить двоичный код символа? Нашёл тему и исходный код программы, но мне нужно понять...

10
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,964
14.10.2020, 18:36 2
Руками.
0
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
14.10.2020, 19:03 3
Лучший ответ Сообщение было отмечено KiganTbs как решение

Решение

битсет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <bitset>
 
 
int main()
{
    if (sizeof('я') == 1)
    {
        std::bitset<8> bs{ (unsigned char)'я' };
        std::cout << bs.to_string();
    }
    else if (sizeof('я') == 4)
    {
        std::bitset<32> bs{ (unsigned int)'я' };
        std::cout << bs.to_string();
    }
}
0
0 / 0 / 0
Регистрация: 27.11.2018
Сообщений: 56
14.10.2020, 22:38  [ТС] 4
alexu_007, Спасибо, кэп
0
Вездепух
Эксперт CЭксперт С++
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
14.10.2020, 23:31 5
Цитата Сообщение от KiganTbs Посмотреть сообщение
слово содержащие 7 символов, как с помощью ASCII перевести его в двоичный код
Что значит "перевести слово в двоичный код"? Где подробное описание?
0
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
15.10.2020, 06:24 6
Ниже: любое слово представляется набором двоичных ASCII кодов его символов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
using namespace std;
int main()
{ 
    string s;
    cin >> s;
    char buf[10];
    
    for (size_t i=0; i<s.length(); i++)
        cout << _itoa(unsigned char(s[i]), buf, 2) << " ";
 
return 0;
}
0
Вездепух
Эксперт CЭксперт С++
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
15.10.2020, 06:41 7
Цитата Сообщение от LVV Посмотреть сообщение
_itoa
Что это?

Цитата Сообщение от LVV Посмотреть сообщение
unsigned char(s[i])
Что это?
1
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
15.10.2020, 07:32 8
Проверено в Visual Studio 2010. Все работает.
Без unsigned chsr не будет корректно работать с кириллицей (расширенная таблица ASCII)
itoa - переводит в строку целое десятиричное представление числа в указанную систему счисления (у нас 2)
0
Вездепух
Эксперт CЭксперт С++
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
15.10.2020, 07:48 9
Цитата Сообщение от LVV Посмотреть сообщение
Проверено в Visual Studio 2010. Все работает.
Значит не нужно полагаться на Visual Studio 2010 для проверки.

Приведение типа в функциональной нотации в С++ не может использоваться с именами типов, состоящими более чем из одного слова. Поэтому никакого unsigned char(s[i]) быть не может.

В стандартных библиотеках языков С и С++ нет функции itoa.
1
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
15.10.2020, 08:01 10
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
В стандартных библиотеках языков С и С++ нет функции itoa.
https://docs.microsoft.com/en-... ew=vs-2019

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Приведение типа в функциональной нотации в С++ не может использоваться с именами типов, состоящими более чем из одного слова
Ну, тогда так: (unsigned char)s[i]

Хотя в Visual Studio 2010 и Visual Studio 2017 работает правильно в изначально представленном виде.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Значит не нужно проверять в Visual Studio 2010.
И какой же компилятор считать "идеальным", соответствующим всем стандартам С++?

Добавлено через 6 минут
Хотя нет. В Visual Studio 2017 не работает, без добавления #define _ITOA_DEPRECATED_NO_WARNINGS.
Похоже, Вы правы!
Склоняюсь в глубоком пардоне.
0
Вездепух
Эксперт CЭксперт С++
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
15.10.2020, 08:24 11
Цитата Сообщение от LVV Посмотреть сообщение
Это ничего не значит. Более того, присутствующий там комментарий про некие "POSIX имена" этих функций - тоже выдумки. В POSIX таких функций нет.

Цитата Сообщение от LVV Посмотреть сообщение
И какой же компилятор считать "идеальным", соответствующим всем стандартам С++?
Идеальных нет. Если уж пробовать - то во всех.
1
15.10.2020, 08:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2020, 08:24
Помогаю со студенческими работами здесь

Как узнать Ascii-код символа?
вопрос проще-простого(вроде бы), но ответа не найти. как узнать Ascii символа, который в техтвох....

как получить код символа в ASCII?
как получить код символа в ASCI?

Как возвратить ascii код символа ?
извините за глупый вопрос, но что-то не припомню, пытался найти, не находиться что-то.. интересует...

Перевести длинное целое число в двоичный вид
Нужно перевести длинное целое число в двоичный вид как мне узнать длину массива для двоичных...

как перевести двоичный код в десятичный?
У меня есть код, который переводит двоичный в десятичный Вот код: def bin_to_dec(digit):...

Как получить ASCII код символа и наоборот
Как в С# получить ASCII код символа и наоборот


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru