#include <stdio.h> #include<math.h> int power(int b)//定义幂函数 { int i = 2, j = 1; if (b == 0) i = 1; for (; j < b; j++) i = 2 * i; return i; } int Sum(int a[])//定义二进制转换为十进制 { int power(int b); int sum = 0, i,n,term; for (i = 0, n = 7; i < 8; i++, n--) { term = a[i] * power(n); sum = sum + term; } return sum; } int main()//将二进制数转换为ip地址 { char c[32]; printf("请输入一个32位2进制数:\n"); for (int j = 0; j < 32; j++) scanf_s("%c", &c[j]); printf("转换后的ip地址为:"); for (int n = 0; n < 4; n++) { int d[32],i; if(n!=0) printf("."); for ( i=8*n; i<8*(n+1); i++) { d[i%8] = c[i] - '0'; } printf("%d", Sum(d)) }
浙公网安备 33010602011771号