题目: 输入两个正整数X,Y,将X,Y化为二进制数,然后将这两个二进制数作二进制加法运算,再将结化为十进制数输出。
(二进制加法规则:0+0=0 0+1=1 1+0=1 1+1=10 )
提示:在数组里运算。
思路:先将输入的数转成二进制,此时数是倒着排的即二进制的最低位在x[0],我们打印的时候把它正过来;做加法时模拟二进制加法规则,再考虑进位,这里我用的while循环,循环退出的条件是两个数都加完且最高位无进位。如果有一个数位数较少先加完了,那么我们把这个数高位补0。最后化成10进制时用的pow函数是C语言的库函数,你们自己查一下。
#include
<
iostream
>
#include < cmath >
using namespace std;
int Convert( long , char * );
void Display( char * , int );
int Plus( char * , int , char * , int , char * );
long ToDecimal( char * , int );
int main()
{
long x,y;
cout << " Input the first number:
#include < cmath >
using namespace std;
int Convert( long , char * );
void Display( char * , int );
int Plus( char * , int , char * , int , char * );
long ToDecimal( char * , int );
int main()
{
long x,y;
cout << " Input the first number: