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

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

Войти
Регистрация
Восстановить пароль
 
karaulov6
-42 / 23 / 2
Регистрация: 23.03.2013
Сообщений: 238
Завершенные тесты: 1
#1

получить 4бит из байта - C++

28.03.2013, 22:07. Просмотров 738. Ответов 7
Метки нет (Все метки)

есть байт, например 32

что написать в структуру что бы прочитать отдельно 3 и 2 ?

(если просто BYTE тогда что дальше делать с байтом что занести 3 и 2 отдельно в переменные?)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2013, 22:07     получить 4бит из байта
Посмотрите здесь:

Заполнить 16 бит (2 байта) единицами и нулями - C++
Как правильнее и проще заполнить два байта единицами и нулями (то есть задать каждый бит отдельно)? (мне их потом нужно в COM отправить)

Удалить из каждого байта строки первый (старший) бит. - C++
Здравствуйте. Суть задачи в общем-то и отображена в названии задачи. Есть строка: unsigned char str; Необходимо в каждом...

Получить бит числа - C++
Необходимо получить значение бита числа double. Такой код: bool getBit(double * d, int bit){ unsigned mask=1<<bit; bool res; ...

переход с 32 бит на 64 бит - C++
Здравствуйте. Пробую на builder 10 перевести проект с 32 на 64 бит. Возникают странные ошибки: template <typename T> class DOT { ...

Маска байта - C++
Есть переменная uint8_t, например, uint8_t red;, маска uint32_t, например, uint32_t RedMask;, нетипизированный указатель, например, void...

Размер байта - C++
Есть ли он в std::numeric_limits? Гарантирует ли стандарт какому либо типу разрядность 1 байт?

Чтение байта по адресу - C++
Мне нужно прочитать значение байта по адресу F000:FFFE. Не знаю, как это возможно сделать Вот пробую вот так: char *p; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Harutyunyan
1 / 1 / 0
Регистрация: 28.09.2012
Сообщений: 91
28.03.2013, 22:14     получить 4бит из байта #2
может через ассемблерные вставки сделать? и через PTR получить их
karaulov6
-42 / 23 / 2
Регистрация: 23.03.2013
Сообщений: 238
Завершенные тесты: 1
28.03.2013, 22:23  [ТС]     получить 4бит из байта #3
не, мне нужно читать/записывать в файл структурой. Там все понятно, только вот эти флаги осталось.


для примера байт "12" ,что записать в структуру для чтения только 4х битов(раздельно 1 и 2)?
palva
2593 / 1815 / 260
Регистрация: 08.06.2007
Сообщений: 6,960
Записей в блоге: 4
29.03.2013, 00:03     получить 4бит из байта #4
А поля использовать?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main() {
    struct {
        // поля структуры
        union {
            unsigned char i;
            struct {int l:4, h:4;} i4;
        } n;
    } s;
    s.n.i4.l = 7;
    s.n.i4.h = 4;
    printf("%02X\n", s.n.i); // 47
    return 0;
}
Здесь сложно, потому два поля для пробы читаются как один байт.
А если их читать не нужно, то можно обойтись без union:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main() {
    struct {
        // поля структуры
        int l:4, h:4;
    } s;
    s.l = 7;
    s.h = 4;
    printf("%02X\n", s); // CCCCCC47
    return 0;
}
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
29.03.2013, 01:13     получить 4бит из байта #5
Цитата Сообщение от Harutyunyan Посмотреть сообщение
может через ассемблерные вставки сделать?
Может микроконтроллер запрограммировать чтобы обращался к оп, искал необходимый кусок памяти о смотрел на 4ый бит?

Цитата Сообщение от karaulov6 Посмотреть сообщение
есть байт, например 32
что написать в структуру что бы прочитать отдельно 3 и 2 ?
что значит есть байт, например 32 ? Если есть байт с содержимым = 32 в десятичной системе то это есть байт 100000 и если нужно получить его части то можно воспользоваться наложением масок, но байт с содержимым = 32 это не две половинки с содержимым 3 и 2!
karaulov6
-42 / 23 / 2
Регистрация: 23.03.2013
Сообщений: 238
Завершенные тесты: 1
31.03.2013, 00:14  [ТС]     получить 4бит из байта #6
как это сделать? допустим в структуру занес просто BYTE , а теперь как получить 1 и 2 цифру раздельно?

(через sprintf ?)
palva
2593 / 1815 / 260
Регистрация: 08.06.2007
Сообщений: 6,960
Записей в блоге: 4
31.03.2013, 00:27     получить 4бит из байта #7
Всё непонятнее становится. Сначала надо было прочитать, теперь получить...
Если b - байт (unsigned char), то b & 15 даст первую цифру b >> 4 даст вторую цифру.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2013, 00:33     получить 4бит из байта
Еще ссылки по теме:

UTF-8 признак последнего байта - C++
Есть текст в кодировке UTF-8, этот текст побайтно читается из файла. Надо определить, является ли прочитанный байт последним в своём...

Битовое представление каждого байта - C++
Вывести битовое представление каждого байта в интовой переменной. Прошу объясните как это сделать,можно даже без кода,просто не могу понять...

День Святого Байта(задача) - C++
День Святого Байта Тур 2, задача 1 Все очень любят праздники, и жители Байтландии – не исключение. Самый большой праздник...

Определение младшего и старшего байта - C++
Всем привет, подскажите пожалуйста, как определить младший и старший байт от 10-го числа типа 20250 ?

Вывести шестнадцатеричное представление байта - C++
Ребят помогите в данном задании: Вывести шестнадцатеричное представление байта!


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

Или воспользуйтесь поиском по форуму:
karaulov6
-42 / 23 / 2
Регистрация: 23.03.2013
Сообщений: 238
Завершенные тесты: 1
31.03.2013, 00:33  [ТС]     получить 4бит из байта #8
Цитата Сообщение от palva Посмотреть сообщение
Всё непонятнее становится. Сначала надо было прочитать, теперь получить...
Если b - байт (unsigned char), то b & 15 даст первую цифру b >> 4 даст вторую цифру.

Спасибо то что нужно(только у меня b & 15 - вторая , а b >> 4 - первая, ну разницы нету )
Yandex
Объявления
31.03.2013, 00:33     получить 4бит из байта
Ответ Создать тему
Опции темы

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