#include<iostream>usingnamespacestd;longlongpower(int X, int Y){longlong Z = 1;for (int i = 0; i < Y; i++) { Z = Z * 10; }return Z;}//采用递归的方式转化longlongrecurrence(int X){int i = 0;longlong Z = 0;while (X > 0) {if (X < 2) { Z = Z + (X % 2) * power(10, i); X = 0; }else { Z = Z + (X % 2) * power(10, i); X = X / 2; i++; recurrence(X); } }return Z;}//采用循环的方式转换looplonglongloop(int X){int i, j;longlong Z = 0;for (i = 0; X != 0; i++) { j = X % 2; Z = Z + j * power(10, i); X = X / 2; }return Z;}intmain(){int X = 0;printf("请输入一个整数:");cin >> X;printf("二进制数为:%lld\n", loop(X));printf("二进制数为:%lld\n", recurrence(X)); system("pause");return0;}