#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define size 10//how many bits to present the integer
void getBits(int, int[], int);
int main(void) {
int bits [size]= { 0 };//initial all bits to 0;
getBits(10, bits, 2);//10進位10的2進位表示法
int bits2 [size]= { 0 };//initial all bits to 0;
getBits(4, bits2, 2);//10進位4的2進位表示法
int total [size]= { 0 };//initial all bits to 0;
int c=0;
for(int j=0;j<size-1;j++){
int d= ceil((bits[j]+bits2[j]+c)/2);
total[j]=(bits[j]+bits2[j]+c)-2*d;
c=d;
}
total[size]=c;
for (int i=size-1; i>=0; i--) {
printf("%d", total[i]);
}
return 0;
}
void getBits(int integer, int bits[], int b) {
int q=integer;
int k=0;
while (q!=0) {
bits[k]=q%b;//get the mod;
q=ceil(q/b);//Returns the smallest integer value greater than or equal to x.
k+=1;
}
}