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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
#1

собрать число , битовая арифметика - C++

09.02.2013, 15:45. Просмотров 814. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста, а то с битовой арифметикой проблемы, получаю из color числа его каналы по следующей формуле
C++
1
2
3
R = (color >> 16) & 0xFF;
G = (color >> 8) & 0xFF;
B = (color ) & 0xFF;
теперь хочу собрать обратно color, но не понимаю как правильно сделать , может кто помочь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2013, 15:45     собрать число , битовая арифметика
Посмотрите здесь:

Битовая арифметика - C++
Почему при: int myVar = 15, mask = 0x00 00 00 01; //выделил разряды printf("%d", myVar & mask); Я получаю -1? Конечно, я мог бы...

Длинная арифметика - возвести число в большую степень - C++
Нужно возвести 3-300, подскажите, пожалуйста, идею, а то не очень понимаю

Представить число в двоичном коде и собрать обратно - C++
Не могу найти ошибку в цикле Здравствуйте. Есть такой цикл: A = 555; while(A != 1) { c++; ...

битовая маска - C++
как использовать битовую маску? за пример можно взять выделение k-того разряда из n-разрядного числа (в пофиг какой системе исчесления).

Битовая маска - C++
Как в шифровании битовыми перестановками применить маску?

Битовая инверсия - C++
Доброго времени суток! Я что-то запутался с побитовой инверсией. В коде прописываю int a=5; cout<<~a<<endl; Это же...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
09.02.2013, 15:47     собрать число , битовая арифметика #2
Nixy,
C++
1
int color = (R << 16) | (G << 8) | B;
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
09.02.2013, 15:57  [ТС]     собрать число , битовая арифметика #3
я пробовал почти также
C++
1
int color = b | (g << 8) | (r << 16);
но с исходным не совподает, чего-то не хватает
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
09.02.2013, 15:59     собрать число , битовая арифметика #4
Nixy, значит разбираете не так. Выложите весь код.

Добавлено через 43 секунды
Возможно, в числе еще альфа-канал есть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2013, 16:19     собрать число , битовая арифметика
Еще ссылки по теме:

Битовая операция -> - C++
Что делает операция -&gt; К примеру, есть структура: struct BIT{ unsigned int cod1:3; :1;...

Битовая сортировка! - C++
Всем привет. Нужно написать реферат по теме &quot;Битовая сортировка&quot;. Такого в инете, а также Википедиях и прочих джерелах даже примерно не...

64-битовая строка - C++
Необходимо реализовать структуру 64-битовой строки состоящей из двух unsigned long полей, с последующей возможностью использования битовых...

битовая маска - C++
надо разработать функцию проверки правильности битовой маски. 32-х битная “маска” считается действительной, если ее двоичное...

С, битовая запись - C++
Всем доброго времени суток, после 3 дней поиска информации решил попытать счастье, задав вопрос у форумчан. так же читал много подобных...


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

Или воспользуйтесь поиском по форуму:
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
09.02.2013, 16:19  [ТС]     собрать число , битовая арифметика #5
Цитата Сообщение от iama Посмотреть сообщение
Возможно, в числе еще альфа-канал есть.
он там точно есть, исходники написаны на java , а что еще надо сделать чтоб альфа канал учесть

Добавлено через 19 минут
все разобрался
C++
1
2
alpha = color >> 24;
color = (alpha << 24 )|( r << 16 )| (g << 8 )| b
Yandex
Объявления
09.02.2013, 16:19     собрать число , битовая арифметика
Ответ Создать тему
Опции темы

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