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

Unsigned integer 24 bit - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив функций http://www.cyberforum.ru/cpp-beginners/thread341275.html
Есть функция: bool sota(a& d1, a& d2) {return 1;} Я вызываю её вот так: sort(mas->begin(), mas->end(), sota); Мне нужно сделать массив из 10 функций sota, с разными значениями return. К...
C++ Поиск символа на консоли Всем привет. Допустим я поставил где-то на консоли символ при помощи функции SetConsoleCursorPosition(), потом в какой-то момент мне нужно найти указаный символ и затереть его, есть ли такая функция... http://www.cyberforum.ru/cpp-beginners/thread341262.html
C++ Вопрос про catch и delete
по какой причине данная операция совершается успешно? ведь указатель равен 0.
C++ Захват текста под курсором мыши
Здравствуйте. Возникла такая проблема: надо в текстовом редакторе (например TMemo) получить слово на которое указывает курсор мыши, затем после некоторых преобразований (перевод слова) тут же вывести...
C++ Вывести массив D, состоящий из тех элементов В, которых нет в С http://www.cyberforum.ru/cpp-beginners/thread341235.html
даны три одномерных массива (А,В,С). нужно вывести массив D, состоящий из тех элементов В, которых нет в С, и тех элементов С, которых нет в А. В дискретной математике это выглядит так: D=(B-C)+(C-A)...
C++ Читерский туториал) Думаю не я один несколько суток тому назад (а может и более) узнал о существовании данного ресурса: http://spacebar.fixmeplz.ru/ Небольшая предыстория: Некий тип наглой наружности решил "уделать"... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
12.08.2011, 19:50
Цитата Сообщение от Damaks Посмотреть сообщение
А какова будет потеря производительности? В википедии написано:

Но вроде как 24 бита - это ровно 3 байта, т.е. сдвигать вроде как ничего и не надо?
Дело в том, что следующее битовове поле хранит часть своих битов в оставшемся четвертом байте. То есть битовые поля непрерывны. Если вы хотите разбить их по единицам хранения, то встаьвте между ними битовое поле размером 0, и тогда следующее битовое поле будет помещаться в отдельную единицу хранения, то есть в отдельное unsigned int.
Например,

struct rgb
{
unsigned r:24;
unsigned:0;
unsigned g:24;
unsigned:0;
unsigned b:24;
};

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