달력

42025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30


#include<stdio.h>

#include<string.h>

char num1[65],num2[65],num3[65];

int main(void) {

bool overflow=false;

int i,nam=0;

unsigned __int64 A,B,a,b,C=0;

scanf("%I64d %I64d",&A,&B);

a=A,b=B;

for(i=63;i>=0;i--) {

num1[i]=a%2+'0';

num2[i]=b%2+'0';

nam=a%2+b%2+nam;

if(nam==2) {

if(i==0)

overflow=true;

num3[i]='0';

nam/=2;

}

else {

num3[i]=nam+'0';

nam=0;

}

a/=2;

b/=2;

}

nam=1;

for(i=63;i>=0;i--) {

C+=(num3[i]-'0')*nam;

nam*=2;

}

num1[64]=num2[64]='\0';

printf(" %s=%I64d\n",num1,A);

printf("+ %s=%I64d\n ",num2,B);

if(overflow) printf("OVERFLOW!");

else {

for(i=1;i<=64;i++)printf("-");

printf("\n %s=%I64d",num3,C);

}

return 0;

}

Posted by Superl3
|