#include #include #include<数学.h>
unsigned long int puiss(unsigned long int x, int n) { if(n == 0) 返回 1; if(n == 1) 返回 x; 无符号长整月 x2 = 幂(x,n/2); if(n%2 == 0) 返回 x2*x2; 返回 x2 * x2 * x; } int char_to_int(char d) { 字符链[2]; str[0] = d; str[1] = '\0'跨度>; 返回 (int) strtol(str, NULL, 10); }
unsigned int convertirEnBase10(int binary) { 字符 snum[20]; // 转换为 String ITOA(二进制,snum,10); // 有多少个字符? int nc = log10((int)二进制)+1; int decimal = 0; for(int i = nc-1 ; i >= 0; i--) { 十进制 += char_to_int(snum[i]) * puiss( 2, (nc-1)-i); } 返回十进制; } int main() { 二进制整数; while(true) { printf(输入二进制数”); scanf(%d”,&二进制); printf (%ld 在 base 2 = %ld 在 base 10\n”,二进制,convertInBase10(二进制); } 返回 0; }
|