Выставление бита в единицу в QByteArray

Через последовательный порт я получаю массив байтов. Последние 2 байта являются корректировочными. Для примера, если 5-й бит в корректировочном байте 1, то 1-й бит в 5 байте тоже должен выставляться в 1. Результат должен выводиться в QLineEdit в десятичном представлении. Как это лучше сделать?

Пытался сделать следующее:

ui->data1->setText(tr("%1").arg(int([arr[]](){if(arr[12] & (1<<5)){arr[4] | 128}}));

ошибка

expected ',' or ']' in lambda capture list

И так:

if(arr[12] & (1<<5))
    {
        arr[4] = arr[4] | 128;
    }

ui->data1->setText(tr("%1").arg(int(arr[4])));

Компилируется, но не работает, первый бит всё равно 0.


Ответы (0 шт):