10.16進制字符串轉換爲2進制字符串

//1個字節的16進制,轉換爲8位的2進制
string Hexstring2binstring(string strSrc)
{
int iNumber = strSrc.size();
if(iNumber == 0)
{
    return "";
}

int iValue = 0; //轉換後的10進制值
for(int i=0;i<iNumber;i++)
{
    int iTemp = Char2Dec(strSrc.at(i));
    iValue += iTemp*pow(16,(iNumber-i-1));
}

//轉換爲二進制
vector<int> bTemp;
for(int j=7;j>=0;j--)
{
    bTemp.push_back((iValue>>j)&1);
}

//再轉換爲字符串
string sBinary;
for(int k=0;k<bTemp.size();k++)
{
    if(0 == bTemp.at(k))
    {
        sBinary += "0";
    }
    else
    {
        sBinary += "1";
    }
}

return sBinary;

}ide

相關文章
相關標籤/搜索