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

объясните пожалйста что вот это значит: a[1]=COD[input&0x0f]; b[0]=COD[(input>>4)&0x0f];??? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Koketka
5 / 5 / 0
Регистрация: 27.11.2009
Сообщений: 232
20.05.2011, 01:02     объясните пожалйста что вот это значит: a[1]=COD[input&0x0f]; b[0]=COD[(input>>4)&0x0f];??? #1
Доброй ночи)

C++
1
2
3
4
5
6
7
char COD[16]={0b00000000, 0b00001011, 0b00010110, 0b00011101,
                  0b00100111, 0b00101100, 0b00110001, 0b00111010,
                  0b01000101, 0b01001110, 0b01010011, 0b01011000,
                  0b01100010, 0b01101001, 0b01110100, 0b01111111};
 
        a[1]=COD[input&0x0f];
        b[0]=COD[(input>>4)&0x0f];
0х0f - написано что: Команда состоит из адреса элемента, количества изменяемых элементов, количества передаваемых байт устанавливаемых значений и самих устанавливаемых значений.

Вот объясните пожалйста что вот это значит:
a[1]=COD[input&0x0f];
b[0]=COD[(input>>4)&0x0f];???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2011, 01:02     объясните пожалйста что вот это значит: a[1]=COD[input&0x0f]; b[0]=COD[(input>>4)&0x0f];???
Посмотрите здесь:

Проблема с проверкой условия цикла for( int i=2; !((n%i||d%i)&&!(n%i&&d%i))==0 ; i++) C++
В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура x*x+y*y<25&&x*x+y*y>=9& C++
C++ Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration?
С && C++ - это плохо? C++
ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка? C++
Объясните почему не срабатывает И (&&) C++
C++ Чтение и редактирование файлов .cod
C++ Что это значит if (x&1) ?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
20.05.2011, 01:23     объясните пожалйста что вот это значит: a[1]=COD[input&0x0f]; b[0]=COD[(input>>4)&0x0f];??? #2
0x0f - 16-ричное представление числа 15 (00001111)
& - побитовое И
>> - побитовый сдвиг вправо
...
input&0x0f значит что вас интересуют только первые 4 разряда числа(0-3), т.к остальные обнуляются..
таким образом можно получить только числа в диапазоне 0-15.
(input>>4)&0x0f тоже самое но интересуют уже разряды (3-7), т.к число сдвинули на 4 разряда вправо
magirus
20.05.2011, 01:27     объясните пожалйста что вот это значит: a[1]=COD[input&0x0f]; b[0]=COD[(input>>4)&0x0f];???
  #3
 Комментарий модератора 
Koketka, называйте темы максимально информативно.
Yandex
Объявления
20.05.2011, 01:27     объясните пожалйста что вот это значит: a[1]=COD[input&0x0f]; b[0]=COD[(input>>4)&0x0f];???
Ответ Создать тему
Опции темы

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