Сбор битов в битовую маску по набору bool-переменных
От: theven Россия  
Дата: 15.11.12 06:38
Оценка:
Имеется набор bool переменных и значения битов (1,2,4,8...), требуется собрать их в маску, поэлегантнее, пооптимальнее..
Ничего лучше чем через умножение я не придумал:

    typedef unsigned short MaskType;

    // содержат различные значения степени 2
    const MaskType bit1value = ...;
    const MaskType bit2value = ...;

    // содержат какие биты включать
    bool bit1Enable;
    bool bit2Enable;

    // умножение?
    MaskType flags = bit1value * bit1Enable + bit2value * bit2Enable;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.