0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 13
1

Функция вывода шестнадцатеричного кода с помощью битовых полей

07.07.2016, 22:25. Показов 1080. Ответов 1
Метки нет (Все метки)

Помогите решить задачу:
"С помощью битовых полей создайте функцию для вывода шестнадцатеричного кода символа".
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2016, 22:25
Ответы с готовыми решениями:

Типы битовых полей
Какие типы можно определять в битовых полях? Можно ли использовать битовые поля в чем-нибудь,...

Массив битовых полей
Добрый день! Из файла читается массив 4-битовых значений т.е. по два значения в каждом байте....

Вывод битовых полей изображения
Работаю с классом CxImage. Пробую вывести изображения по битовым полям (как на рисунке), но не...

Создание структуры, содержащей 16 битовых полей
как? создать структуру? содержащую: 16 битовий полей шириной в один бит именами битовых полей...

1
1386 / 1016 / 323
Регистрация: 28.07.2012
Сообщений: 2,804
07.07.2016, 23:37 2
Лучший ответ Сообщение было отмечено Robespyer как решение

Решение

Robespyer,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <string>
 
using namespace std;
 
 
struct HexSyms32 {
    uint8_t a0 : 4;
    uint8_t a1 : 4;
    uint8_t a2 : 4;
    uint8_t a3 : 4;
    uint8_t a4 : 4;
    uint8_t a5 : 4;
    uint8_t a6 : 4;
    uint8_t a7 : 4;
};
 
 
union Hex32 {
    HexSyms32 hbytes;
    uint32_t value;
};
 
string toHex(Hex32 s) {
    static const char *HexDict[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"};
    return string(HexDict[s.hbytes.a7]) + HexDict[s.hbytes.a6] + HexDict[s.hbytes.a5] + HexDict[s.hbytes.a4] + 
                   HexDict[s.hbytes.a3] + HexDict[s.hbytes.a2] + HexDict[s.hbytes.a1] + HexDict[s.hbytes.a0];
}
 
int main() {
    Hex32 s;
    cin >> s.value;
    cout << toHex(s) << endl;
    return 0;
}
Вроде ничего сложного, каждые 4 бита числа отображаются на один из 16 hex-символов.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2016, 23:37
Помогаю со студенческими работами здесь

Использование битовых полей в AVR Studio
Доброго времени суток форумчане! Недавно стал осваивать С++ для программирования микроконтроллеров....

Использование битовых полей структуры
Многие не рекомендуют использовать битовые поля структуры. Нашел этому пока одно объяснение. &quot;На...

Операции со сдвигами, выделение битовых полей
Помогите, пожалуйста подкорректировать задачу во встроенном в TURBO PASCAL ассемблере: В исходном...

Нужна функция для вывода кода символа
Кто-нибудь знает в Си есть функция для вывода кода символа(аналогия Ord на Паскале)?


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

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

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