二进制字符串转为二进制数组

现在有char str[8]="11001100"
怎么转换为数组然后进行十进制转换啊😭


#include <math.h>
#include <stdio.h>
int main()
{
    char str[9]="11001100";
    int sum=0;
    int count=0;
    for(int i=strlen(str)-1;i>=0;--i)
    {
        if(str[i]=='1'){
            sum += pow(2,count);
        }
        
        ++count;
    }
    printf("%d\n",sum);
    
    return 0;
}

str 本身就是数组,所以无需转化
转10进制就用到移位来操作

char str[9]="11001100"
char dec = 0;
for(int i=0;i<8;i++)
{
  if(str[i] == '1') dec |= 0x01;
  dec<<=1;
}
//dec就是转化出来的10进制