Побитовые операции для области памяти

298
01 апреля 2017, 01:12
uint64_t a;
uint64_t b;
uint64_t a_and_b = a & b;
uint64_t a_or_b  = a | b;

Как сделать аналогичное для произвольной области памяти (например для uint64_t[n])? Есть ли какие-то особые команды ОС или ассемблера для этого?

p.s. имеется ввиду что-то, кроме обхода всей этой области памяти по кускам (uint8_t, uint16_t и т.д.) и выполнение необходимой операции для каждого куска

Answer 1

Используйте хотя бы ММХ расширение команд для х86 (https://ru.wikipedia.org/wiki/MMX). Если на Вашем компе есть DSP - процессор обработки цифровых сигналов, то эта задачка - как раз для него.

READ ALSO
Что такое >> в c++

Что такое >> в c++

Здравствуйте, не могу это загуглитьЕсть код программы

317
Какая строка кода приводит к ошибке компиляции или времени исполнения?

Какая строка кода приводит к ошибке компиляции или времени исполнения?

Класс ExtendedMuxer содержит буфер (член m_buffer) нужный для работы с аудиоданнымиРазмер буфера устанавливается один раз в конструкторе класса и там...

321
Хранение объекта в общей памяти

Хранение объекта в общей памяти

Если приложение работает с разделяемой между процессами памятью, может ли оно в этой памяти хранить объект класса? Какие требования предъявляются...

345
Звук в html5, javascript?

Звук в html5, javascript?

В других языках были команды:

230