首先吧他转换成字符数组,然后调用atoi()函数就行了。

解决方案 »

  1.   

    int iVal = 0;for( int i=0 ; i< strlen(str); i++)
    {
      if( str[ strlen( str ) - 1 - i ] == '1' )
         iVal += pow( 2, i );
    }
      

  2.   

    char sBin[] = "1010";
    int nDec = 0;
    for(int i = 0; i < strlen(sBin); i ++)

        nDec = nDec*2 + sBin[i]-'0';
    }
      

  3.   

    int iVal = 0;for( int i=0 ; i< strlen(str); i++)
    {
      if( str[ strlen( str ) - 1 - i ] == '1' )
         iVal += pow( 2, i );
    }
      

  4.   

    好象有一个函数,在MSDN上看到过,现在有点想不起来了·
    但一定有这样的函数·
      

  5.   

    好像有点麻烦,需要逐位判断。
    int nNum;
    CString strNum = "1010";
    for(int i = 0; i < strNum.GetLength(); i++){
       int n = atoi(&strNum[i]);
       int nTemp = 2的i次方; //你可以用一个循环实现
       nNum += nTemp;
    }