欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

转换整数中的比特位(例如将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”

相关标签: 逻辑算法 算法