C++二进制和十进制相互转换的代码

2019-04-10  本文已影响0人  we1212

如下的资料是关于C++二进制和十进制相互转换的内容。

#include <iostream>

#include <math.h>

using namespace std;

int bin2dec(string binVal)

{

    int total = 0;

    int i=0;

    int length = binVal.length();

    int isMinus= false;

    if(binVal[0] == '-')

    {

        isMinus = true;

        length--;

        for(i=0; i<length;i++)

        {

            binVal[i] = binVal[i+1];

        }

    }

    for (i=0; i < length; i++)

    {

        if (binVal[length - (i + 1)] != '0')

            total = total + pow(2, i);

    }

    if(isMinus)

    return total;

}

string dec2bin(int decVal)

{

    string value = "";

    bool isMinus = false;

    if (decVal < 0)

    {

        isMinus = true;

    }

    while (decVal > 0)

    {

        if (decVal % 2)

            value = '1' + value;

        else

            value = '0' + value;

        decVal = decVal / 2;

    }

    if (isMinus)

        value = '-' + value;

    return value;

}

上一篇下一篇

猜你喜欢

热点阅读