可以使用 QString::number
函数将十进制数字转换为二进制字符串,并在转换之后使用 QString::leftJustified
函数居左对齐字符串,如下所示:
int number = 42;
QString binaryString = QString::number(number, 2).leftJustified(16, '0'); // 转换为2进制,并使用 '0' 填充,使字符串总宽度为 16 个字符
在这个例子中, 变量 binaryString
中将保存字符串"0000000010101010",即42的二进制表示,并且在输出时总共有16个字符(不足16个字符的部分用0进行填充)。
如果您想在字符串前加上前缀"0b",加上前缀也类似,如下:
int number = 42;
QString binaryString = QString("0b%1").arg(QString::number(number, 2).leftJustified(16, '0')); // 转换为2进制并添加前缀"0b"
在这个例子中,变量 binaryString
中将保存字符串"0b0000000010101010",即42的带有二进制前缀的二进制表示,并且在输出时总共有16个字符