1 / 1 / 1
Регистрация: 21.05.2012
Сообщений: 102
1

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

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

Author24 — интернет-сервис помощи студентам
Есть байт, состоящий из 8 бит. типа unsigned char
биты 0-2 одно значение(может быть значение от 1 до 8)
биты 3-5 второе(от 1 до 8)
биты 6-8 третье(от 1-3).
Как это байт конвектировать в 3 переменных int? тоесть надо извлечь отдельно каждое значение..Спасибо заранее
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.08.2013, 13:55
Ответы с готовыми решениями:

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

Булевые массивы "веса" от 1 - n
Задача в том, что нужно создать все булевые массивы одной длины, количество "1" в которых равно...

Перегрузить операции сравнения комплексных чисел и операции потокового вывода
Создать класс комплексное число. Перегрузить операции сравнения комплексных чисел! =, ==,>, <,> =,...

Заменить операции ifstream на операции fprintf
Собственно как и написано в заголовке заменить операции ifstream на fprintf со всеми...

3
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;
0
545 / 344 / 12
Регистрация: 05.11.2010
Сообщений: 1,076
Записей в блоге: 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
1
55 / 55 / 6
Регистрация: 07.07.2013
Сообщений: 345
27.08.2013, 14:16 4
Цитата Сообщение от linkoln78 Посмотреть сообщение
биты 0-2 одно значение(может быть значение от 1 до 8)
8 не поместится в три бита. максимум семь. от 0 до 7
1
27.08.2013, 14:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.08.2013, 14:16
Помогаю со студенческими работами здесь

Битовые операции и операции смещения языка С
Доброго времени суток господа,помогите пожалуйста.Есть 2 кода к задаче,первый работает...

Записать логические выражения, используя условные операторы, операции отношений и логические операции
Записать логические выражения, используя условные операторы, операции отношений и логические...

Булевые сокращения
Доброго времени суток! Попалась функция.. чувствую что решение простое, но со своими камнями....

Булевые функции
((x1((x2x4)+x3))x1x2)((x2x3)x4) 7. Выясните, полна ли система функций .


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru