#include<stdio.h> #include<string.h> #include<math.h> int main() { int num ; char binary[200]; int decimalism[200]; int i = 0,j = 0; printf("请输入1个二进制数\n"); scanf("%s", binary); int len = strlen(binary);//得到有效长度 for (int i = len - 1; i >= 0; i--)//将字符串转化为整型并储存到整型数组中 { decimalism[j] = binary[i] - '0'; j++; } int sum = 0; for (int k = 0; k < j; k++)//将数组中的每一个数据提取并计算 { if (decimalism[k] == 1) { sum = sum + pow(2, k); } } printf("%d\n",sum); return 0; }
这是运用字符串转整型数据的方法将其输入的二进制数字放到整型数组中并逐个进行运算得到十进制数字的方法。
新人第一次分享代码,有漏洞请见谅~~