#include <iostream> int main() { const int arrsize=50; int chislo1,chislo2; short bin1[arrsize]={0},bin2[arrsize]={0},bin3[arrsize]={0}; std::cout << "Vvedite chislo 1:"; std::cin >> chislo1; std::cout << "Vvedite chislo 2:"; std::cin >> chislo2; int ost=chislo1,i1=arrsize-1,i2=arrsize-1,i3=arrsize-1; do { bin1[i1]=ost%2; ost/=2; i1--; } while(ost!=0 && i1>=0); if(i1<0)exit(1);else i1++; ost=chislo2; do { bin2[i2]=ost%2; ost/=2; i2--; } while(ost!=0 && i2>=0); if(i2<0)exit(2);else i2++; do { ost=bin3[i3]; bin3[i3]+=bin2[i3]+bin1[i3]; if(bin3[i3]==3) { bin3[i3-1]+=1; bin3[i3]=1; } else if(bin3[i3]==2) { bin3[i3-1]+=1; bin3[i3]=0; } i3--; } while(i3>=((i1<i2)?i1:i2)); if(i3<0)exit(3); for(int j=i3;j<arrsize;j++) std::cout << bin1[j]; std::cout << std::endl; for(int j=i3;j<arrsize;j++) std::cout << bin2[j]; std::cout << std::endl; for(int j=arrsize-i3;j>0;j--) std::cout << "-"; std::cout << std::endl; for(int j=i3;j<arrsize;j++) std::cout << bin3[j]; std::cout << std::endl; return 0; } |