Форум программистов, компьютерный форум CyberForum.ru

Код Грея - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.62
Fajyz
 Аватар для Fajyz
4 / 4 / 0
Регистрация: 29.12.2009
Сообщений: 31
07.03.2011, 12:01     Код Грея #1
Помогите написать программу

Написать программу преобразования прямого двоичного числа в код Грея и программу обратного преобразования (предварительно написав функцию представления десятичного числа в двоичной системе счисления)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2011, 12:01     Код Грея
Посмотрите здесь:

Код Грея C++
C++ Не получается запустить длинный код Алгоритма Гомори, код правильный.
Прямое и обратное преобразование чисел в Код Грея C++
C++ код грея
Код написан в Dev C. Не работает в Visual. Как нужно переделать код? C++
C++ ввести с клавиатуры два числа, узнать являются ли они соседними по коду Грея
C++ Бинарный перебор (не на кодах Грея)
Как преобразовать файл в биты (в нули и единицы), чтобы потом можно было его зашифровать в код Грея? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.03.2011, 14:39     Код Грея #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
28
29
30
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <ctime>
 
void PrintBinary(unsigned int value) {
  for (int i = sizeof(value) * 8 - 1; i >=0; --i)
    printf("%d", (value & (1 << i)) >> i);
  printf("\n");
}
 
inline unsigned int ToGreyCode(unsigned int value) {
  return value ^ (value >> 1);
}
 
unsigned int FromGreyCode(unsigned int value) {
  unsigned int result = 0;
  for (; value > 0; value >>= 1)
    result ^= value;
  return result;
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  int value = rand();
  int grey_code = ToGreyCode(value);
  printf("Source value: "); PrintBinary(value);
  printf("Encoded     : "); PrintBinary(grey_code);
  printf("Decoded     : "); PrintBinary(FromGreyCode(grey_code));
}
Yandex
Объявления
07.03.2011, 14:39     Код Грея
Ответ Создать тему
Опции темы

Текущее время: 02:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru