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

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

Войти
Регистрация
Восстановить пароль
 
linkoln78
1 / 1 / 0
Регистрация: 21.05.2012
Сообщений: 102
#1

Булевые операции - C++

27.08.2013, 13:55. Просмотров 581. Ответов 3
Метки нет (Все метки)

Есть байт, состоящий из 8 бит. типа unsigned char
биты 0-2 одно значение(может быть значение от 1 до 8)
биты 3-5 второе(от 1 до 8)
биты 6-8 третье(от 1-3).
Как это байт конвектировать в 3 переменных int? тоесть надо извлечь отдельно каждое значение..Спасибо заранее
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2013, 13:55     Булевые операции
Посмотрите здесь:

Программирование на булевые функции - C++
Привет всем. Я тут решал задачу под мат-логике. И мне интересно, а возможно ли ПК (на C++) научить решать подобные задачи на булевы...

Булевые массивы "веса" от 1 - n - C++
Задача в том, что нужно создать все булевые массивы одной длины, количество "1" в которых равно 1,2...n. То есть для случая l = 4 и n =...

Операции в С++ - C++
Я не могу понять что делают ети операции >> << &= |= ^= Обясните пожалуйста

Битовые операции - C++
Доброго времени суток! Помогите решить задачу на тему "Битовые операции": Ввести четыре целых числа P, Q, N и M. Что больше P*(2^M)...

Битовые операции - C++
Задание: Как я понимаю надо создать объект типа int, но как менять местами биты вообще не представляю, помогите пожалуйста.

Сдвиговые операции - C++
всем привет, читала аналогичные темы на форуме но так и не поняла по какому принципу работают сдвиговые операции : когда записываю...

Битовые операции - C++
Помогите, пожалуйста, написать код на C++! Дана последовательность из 8 байт: unsigned char n =...

Битовые операции - C++
Есть число в двоичной системе, например "01000001", рядом с единицами надо заменить нули на единички! то есть должно получится например...

Операции с матрицами - C++
Помогите пожалуйста закрыть последнюю лабораторную, предыдущие кое-как сам смог. Вот задание: 2. Дана целочисленная квадратная...

Аддитивные операции - C++
Кто может наглядно привести пример Аддитивных операций?:scratch:

Операции со словом - C++
Дано слово.Если оно четной длины, то удалите 2-ю половину слова,а первую переверните. Если слово нечетной длины, то удалите средний...

Битовые операции - C++
Помогите, пожалуйста с заданием. Никак не могу понять, что да как... Составить две программы, первая из которых вводит составные...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ВСарости
0 / 0 / 0
Регистрация: 26.08.2013
Сообщений: 10
27.08.2013, 14:11     Булевые операции #2
Через Union, к примеру.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
union {
    unsigned char val;
    struct{
        unsigned first:3;
        unsigned second:3;
        unsigned third:2;
    };
} some;
 
some.val = value;
 
int first = some.first;
int second = some.second;
int third = some.third;
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
27.08.2013, 14:14     Булевые операции #3
Битовые поля + union.
Можно битовыми операциями, но битовые поля предпочтительнее.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cstdint>
struct BitMap {
    int8_t a:3;
    int8_t b:3;
    int8_t c:2;
};
 
union Mapper {
    uint8_t value;
    BitMap bits;
};
 
Mapper m = { 0x7f }; // 0111 1111
// m.bits.a == 0b011
// m.bits.b == 0b111
// m.bits.c == 0b11
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
27.08.2013, 14:16     Булевые операции #4
Цитата Сообщение от linkoln78 Посмотреть сообщение
биты 0-2 одно значение(может быть значение от 1 до 8)
8 не поместится в три бита. максимум семь. от 0 до 7
Yandex
Объявления
27.08.2013, 14:16     Булевые операции
Ответ Создать тему
Опции темы

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