Хранение миллионов 4-битных значений (полубайтов) – следует ли использовать макросы или классы?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Хранение миллионов 4-битных значений (полубайтов) – следует ли использовать макросы или классы?

Сообщение Anonymous »

Мне нужно динамически выделить около миллиона 4-битных типов данных.
Я попробовал определить 1-байтовый uint8_t (8 бит) как «слово» и получить доступ к его первым 4 битам (слово младшего разряда) и последним 4 битам (слово старшего порядка) для двух 4-битных типов данных. Для доступа и индексации я попробовал определить для них макросы, однако у меня вопрос: будет ли это быстрее во время выполнения, если я реализую это как класс?
Версия макроса:

Код: Выделить всё

#include 
#include 
using std::cout;
using std::cin;
using std::endl;

typedef uint8_t word;
#define wordLO(wrd) (0b11110000 & wrd) >> 4
#define wordHI(wrd) 0b00001111 & wrd

#define setwordLO(wrd, num) wrd = (num = 16) {
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79863412/storing-millions-of-4-bit-values-nibbles-should-i-use-macros-or-classes[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»