转换整数中的比特位(例如将001转为011)
程序员文章站
2024-03-18 12:34:22
...
概述
随机一个整数,将其比特位001转为011。
思路
略
源码
#include <qglobal.h>
#include "QtMath"
#include "QTime"
//将整数中的001转为011
void Test_Convert_Bits()
{
quint8 i=0;
QString string;
quint32 input;
QTime time = QTime::currentTime();
qsrand(time.msec());
input = (quint32)qrand();
string = QString::number(input, 10);
qDebug()<<"input:"<<input<<string;
while(i<=(32-3))
{
if(((input>>i)&0x7) == 1)
{
input |= (3<<i);
i += 3;
}
else
{
i += 1;
}
}
string = QString::number(input, 10);
qDebug()<<"output:"<<input<<string;
}
运行结果
input: 2615 “2615”
output: 6775 “6775”
上一篇: 数据结构(C语言实现)-栈和队列