С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
NewProject
2 / 2 / 1
Регистрация: 10.08.2012
Сообщений: 53
1

Программа для вывода кода символа и его двоичного эквивалента

12.11.2012, 14:10. Просмотров 1667. Ответов 3
Метки нет (Все метки)

Написать программу, которая считывает строку символов с клавиатуры и распечатывает в столбик:
символ –-> код –-> его двоичный эквивалент
для каждого символа.

Используя VS 2008
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 14:10
Ответы с готовыми решениями:

Дано шестнадцатеричное число. Написать и отладить программу для вывода на экран его двоичного представления
Дано шестнадцатеричное число. Написать и отладить программу для вывода на экран его двоичного...

По введенному символу установить, в каких позициях его двоичного кода записаны единицы
По введенному символу установить, в каких позициях его двоичного кода записаны единицы. На C++...

Данные строкового типа(программа для введения текста, его кодирования и вывода результата)
Последняя просьба! Придумать і сложить программу для введения текста, его кодирования и вывода...

Функция вывода символа по коду его клавиши: есть ли такая?
Собственно, мне нужно выводить на экран буквы от a до какойто буквы вплоть до z. Так как коды букв...

Замена кода символа на его значение
Здравствуйте, есть строка string url = "«Открой меня!™»"; как можно заменить...

3
Kuzia domovenok
2421 / 2151 / 525
Регистрация: 25.03.2012
Сообщений: 7,756
Записей в блоге: 1
12.11.2012, 14:28 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#define PUT_BIN(i) std::cout<<((i&0x80)?1:0);\
                   std::cout<<((i&0x40)?1:0);\
                   std::cout<<((i&0x20)?1:0);\
                   std::cout<<((i&0x10)?1:0);\
                   std::cout<<((i&0x08)?1:0);\
                   std::cout<<((i&0x04)?1:0);\
                   std::cout<<((i&0x02)?1:0);\
                   std::cout<<((i&0x01)?1:0);
const int n=100;
int main(){
  char str[n];
  std::cout<<"Input str:";
  std::cin>>str;
  while(*str){
    std::cout<<std::endl<<*str<<", ";
    std::cout<<(int)(*str)<<", ";
    PUT_BIN(*str);
    str++;
  }
  return 0;
}
Добавлено через 5 минут
Почему мне не удалить предыдущий говнокод???

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
#include <iostream>
#define PUT_BIN(i) std::cout<<((i&0x80)?1:0);\
                   std::cout<<((i&0x40)?1:0);\
                   std::cout<<((i&0x20)?1:0);\
                   std::cout<<((i&0x10)?1:0);\
                   std::cout<<((i&0x08)?1:0);\
                   std::cout<<((i&0x04)?1:0);\
                   std::cout<<((i&0x02)?1:0);\
                   std::cout<<((i&0x01)?1:0);
const int n=100;
int main(){
  char str[n];
  char* cur;
  std::cout<<"Input str:";
  std::cin>>str;
  cur=str;
  while(*cur){
      std::cout<<std::endl<<*cur<<", ";
    std::cout<<(int)(*cur)<<", ";
    PUT_BIN((*cur));
    cur++;
  }
  return 0;
}
Добавлено через 1 минуту
нет, лучше так
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
#include <iostream>
#define PUT_BIN(i) std::cout<<((i&0x80)?1:0);\
                   std::cout<<((i&0x40)?1:0);\
                   std::cout<<((i&0x20)?1:0);\
                   std::cout<<((i&0x10)?1:0);\
                   std::cout<<((i&0x08)?1:0);\
                   std::cout<<((i&0x04)?1:0);\
                   std::cout<<((i&0x02)?1:0);\
                   std::cout<<((i&0x01)?1:0);
const int n=100;
int main(){
  char str[n];
  char i;
  std::cout<<"Input str:";
  std::cin>>str;
  i=0;
  while(str[i]){
      std::cout<<std::endl<<str[i]<<", ";
    std::cout<<(int)(str[i])<<", ";
    PUT_BIN((str[i]));
    i++;
  }
  return 0;
}
0
alsav22
5445 / 4840 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.11.2012, 14:49 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <string>
#include <iomanip>
#include <cstdlib>
#include <Windows.h>
using namespace std;
 
string f(int d_code) // из десятичного в двоичное
{
    string b_code;
    int b = 0;
    int q = 0;
    
    if (d_code != 0)
    {
        while (true)
        {
            q = d_code / 2;
            if (q == 0) 
            {
                b_code.insert(b_code.begin(), '1');
                break;
            }
            b = d_code % 2;
            if (b == 0) b_code.insert(b_code.begin(), '0');
            if (b == 1) b_code.insert(b_code.begin(), '1');
            d_code = q;
        }
    }
    else b_code.insert(b_code.begin(), '0');
    
    int c = (b_code.size() % 4); // выравнивание по байту 
    if (c != 0)
        for (int i = 0; i < 4 - c; i++)
            b_code.insert(b_code.begin(),'0');
    
    return b_code;
}
 
 
int main ()
{ 
 // для русского ввода/вывода
 SetConsoleCP(1251);      
 SetConsoleOutputCP(1251);
 
 string str;
 getline(cin, str); // читаем строку с клавиатуры
 
 for (size_t i = 0; i < str.size(); i++) // вывод символов строки и их кодов в десятичном и двоичном виде
 {
        cout << str[i] << " --> " << setw(3) << dec 
        << (int)((unsigned char)str[i]) << " --> " 
        
        << f((unsigned char)str[i]) << endl;
 }
 
 system("pause");
 return 0;
}
0
NewProject
2 / 2 / 1
Регистрация: 10.08.2012
Сообщений: 53
26.11.2012, 17:08  [ТС] 4
Спасибо всем за помощь уже сам сделал. Тема закрыта
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2012, 17:08

Вывод символа слева и его соответствующего кода ASCII справа
Собственно вопрос как это сделать?

Формирование двоичного кода для целой и дробной части + вывод в файл
Упростила программу, но суть ясна. Выводит число, потом его целую и дробную часть, после чего...

Написать программу для вывода символа, соответствующего коду
1) Написать определение функции, вычисляющей длину строки. 2.Написать программу для вывода...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru