值转二进制输出

来源:互联网 发布:装修公司设计软件 编辑:程序博客网 时间:2024/05/16 10:03

将任意值转二进制输出。

本质上,在机器内部数据都由二进制存储,调试可见为十六进制。所以其实不需要太复杂的运算,只需要将其转为一个字符串即可。

QString toBit(const char *src,int size){    QString sRet = "";    unsigned long long ll = 0;    int temp = sizeof(ll);    int iSize = (size < temp && size > 0) ? size : temp;    memcpy(&ll,src,iSize);    for(int i = 0; i < iSize*8; ++i)    {        unsigned char uc = ll & 0x01;        if(0x01 == uc)            sRet.push_front('1');        else            sRet.push_front('0');        ll >>= 1;    }    return sRet;}

输出测试:

int i = 10;QString s = toBit((const char *)&i,sizeof(i));qDebug() << s;

测试结果:

"00000000000000000000000000001010"


原创粉丝点击