THIS CODE WORKS CAN SOMEONE MODIFY IT TO LOOK A LITTLE DIFFE
Solution
 c program for halfadder and fulladder
 
 #include<stdio.h>
typedef char bit;
 bit bit_carry = 0;
 bit halfadder( bit A, bit B ){
 bit_carry = A & B;
 return A ^ B;
 }
 bit fulladder( bit A, bit B ){
 bit xor = A ^ B;
 bit result = bit_carry ^ xor;
 bit_carry = (bit_carry & xor) | (A & B);
 return result;
 }
void fillNumber( int number, bit *array ){
 int i;
 for( i = 0; i < 32; ++ i ){
 array[i] = ( number >> i ) & 1;
 }
 }
int main(){
 bit number1[32] = {0}, number2[32] = {0};
 int A = 64620926, B = 1531529858;
 fillNumber( A, number1 );
 fillNumber( B, number2 );
int x = 0;
 bit tmp_result = halfadder( number1[0], number2[0] );
 putchar( tmp_result ? \'1\' : \'0\' );
 x = tmp_result;
 int i;
 for( i = 1; i < 32; ++i ){
 tmp = fulladder( number11[i], number22[i] );
 x += tmp_result << i;
 putchar( tmp_result ? \'1\' : \'0\' );
 }
 putchar( bit_carry ? \'1\' : \'0\' );
 printf(\"\ %d\ \ %d + %d = %d\", x, A, B, A+B);
 return 0;
 }

