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
Другие вопросы по тегам