qDebug(): как выводить данные в битах
Мне просто интересно, если qDebug() может выводить данные в двоичном формате. Например, я хочу проверить некоторые изменения статуса:
unsigned char status;
.....
qDebug()<<"Status: "<<status;
Я хочу генерировать вывод в двоичном формате, что-то вроде:
Status: 1011
1 ответ
Если вы хотите печатать в двоичном формате, вы должны использовать bin
:
unsigned char status = 11;
qDebug() << "Value : " << bin << status;
Выход:
Value : 1011
Или же QString::number()
unsigned char status = 11;
qDebug() << QString::number(status, 2);
Или же QString::arg()
qDebug()<<"Status:"<<QString("%1").arg(status, 8, 2, QChar('0'));
Выход:
Status: "00001011"
плюс:
если вы не хотите использовать цитаты .noquote()
qDebug().noquote()<<"Status:"<<QString("%1").arg(status, 8, 2, QChar('0'));
Выход:
Status: 00001011