Выставление бита в единицу в 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.