Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Yedil_38
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 27
#1

Представить число в двоичном коде и в коде Грея - C++

22.09.2016, 14:27. Просмотров 615. Ответов 6
Метки нет (Все метки)

Всем доброго вечера) у меня такая просьба, помогите написать программу по коду Грея, чтобы пользователь сам ввел число в диапозоне от -100 до 100, ну или какой получитсья, и что бы введенное число было представленно в двоичном коде и следом в коде грея. примерно так 5 0101 0111 на devc++
http://www.cyberforum.ru/cpp-beginners/thread1250573.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2016, 14:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Представить число в двоичном коде и в коде Грея (C++):

Как представить int в двоичном коде
Всем привет! У меня задание подсчитать сколько единиц в бинарном числе,...

Вывести число в двоичном коде
решите задачу, пожалуйста: вывести 1 байтовое целое число без знака в 2-ом...

Вывод float в двоичном коде
И снова здравствуйте форумчане, если не сложно, подскажите с реализацией этой...

Подсчёт нулей в двоичном коде
Есть код который возвращает количество единиц в двоичном представлении целого...

Чтение файла в двоичном коде
Моя цель открыть любой файл в двоичном коде и записать этот код в отдельный txt...

6
regio1961
129 / 129 / 110
Регистрация: 06.06.2016
Сообщений: 319
22.09.2016, 22:17 #2
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
#include <iostream>
 
 void  show_binary( const unsigned int &n )
 {
    int L = 8*sizeof( n );
        for ( int r = L - 1; r >= 0; --r )
        {
           std::cout << ( ( n & ( 1 << r ) ) >> r );
        }
    std::cout << std::endl;
 }
 
 void  show_Gray( const unsigned int &n )
 {
    int g =  n^( n >> 1 );
    show_binary( g );
 }
 
 int  main()
 {
   std::cout << "Input integer > 0\n";
   unsigned  n = 0;
   std::cin >> n;
   show_binary( n );
   show_Gray( n );
   return 0;
 }
2
Yedil_38
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 27
27.09.2016, 06:21  [ТС] #3
а как будет если я сразу буду ввести в двоичным числе ??
и можно ли еще добавить чтобы после того как он переведет в код грея и потом дикодирование??
0
regio1961
129 / 129 / 110
Регистрация: 06.06.2016
Сообщений: 319
27.09.2016, 18:41 #4
Лучший ответ Сообщение было отмечено Yedil_38 как решение

Решение

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
 #include <iostream>
 #include <string>
 //--------------------------------------------------------------
 void  show_binary( const unsigned int &n )
 {
    int L = 8*sizeof( n );
        for ( int r = L - 1; r >= 0; --r )
        {
           std::cout << ( ( n & ( 1 << r ) ) >> r );
        }
    std::cout << std::endl;
 }
 //--------------------------------------------------------------
 void  show_Gray( const unsigned int &n )
 {
    int g =  n^( n >> 1 );
    show_binary( g );
 }
 //--------------------------------------------------------------
 void  show_Gray( const std::string &binary_str )
 {
    int  n = 0;
    int  str_size = binary_str.size();
        for ( int i = str_size - 1; i >= 0; --i )
          if ( binary_str[i] == '1' )
            n += 1 << ( str_size - i - 1 );
    show_Gray( n );
 }
//--------------------------------------------------------------
 int  main()
 {
//   std::cout << "Input integer > 0\n";
//   unsigned  n = 0;
//   std::cin >> n;
//   show_binary( n );
//   show_Gray( n );
 
   std::cout << "Input binary integer > 0\n";
   std::string str = "";
   std::cin >> str;
   show_Gray( str );
 
   return 0;
 }
Декодирование -- см. готовую функцию и её описание https://ru.wikipedia.org/wiki/Код_Грея
0
Yedil_38
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 27
29.09.2016, 13:30  [ТС] #5
декодирование че то не выходит??

Добавлено через 51 секунду
а можно теперь все это в визуальном приложении написать типа в с++ builder
0
regio1961
129 / 129 / 110
Регистрация: 06.06.2016
Сообщений: 319
29.09.2016, 13:46 #6
Лучший ответ Сообщение было отмечено Yedil_38 как решение

Решение

Хозяин, дай воды напиться, а то так кушать хочется, аж переночевать негде
1
Yedil_38
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 27
30.09.2016, 10:28  [ТС] #7
Спасибо брат
0
30.09.2016, 10:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2016, 10:28
Привет! Вот еще темы с решениями:

Вывести содержимое файла в двоичном коде
Здраствуйте, не могли бы вы помочь с программой? она должна просто показывать...

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

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

Написать программу на поиск закономерностей в двоичном коде (парсер)
Доброго времени суток. На самом деле я не знаю язык С/C++. Но мне необходима...


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

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

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