只保留num 去除中间变量
时间: 2023-10-23 21:35:08 浏览: 50
vb两个数组去除相同值或只要相同值简单例子
4星 · 用户满意度95%
如果要去掉中间变量,可以将中间变量的值直接传递给`QString::number()`函数,并在调用`QString::number()`函数时指定输出格式和宽度。具体代码如下:
```cpp
int num = -255; // 负数
unsigned int mask = (1u << 31) - 1;
QString hex_str = QString::number(num >= 0 ? static_cast<unsigned int>(num) : ((mask ^ (-num - 1)) << 1) | 1, 16).rightJustified(8, '0');
qDebug() << hex_str;
```
在上面的代码中,我们将中间变量`hex_num`的值直接传递给`QString::number()`函数,并在调用`QString::number()`函数时指定输出格式和宽度。由于我们在转换16进制字符串时已经将负数转换为了一个无符号整数,因此不再需要使用`static_cast`显式地转换类型。最后,我们使用`QString::rightJustified()`函数在左侧补零,以使其总长度为8。
阅读全文