void cnce230_ADD       (int in1, int in2, bool *out)

{
 bool in1_bits[4], in2_bits[4] ;

 for(int idx = 0; idx < 4; idx++) { in1_bits[3-idx] = (in1 >> idx) & 0x1 ;  in2_bits[3-idx] = (in2 >> idx) & 0x1 ;}

 /*---------- Modify below - Problem-1 -------------- */
 bool temp1, temp2 ;

 temp1 = cnce230_AND( in1_bits[3],  in2_bits[2] ) ;
 temp1 = cnce230_OR( temp1,  in2_bits[1] ) ;
 temp2 = cnce230_NOT( in1_bits[3] ) ;

 out[0] = 1;
 out[1] = temp2 ;
 out[2] = temp1 ;
 out[3] = cnce230_OR( in2_bits[0], in1_bits[1]);
 out[4] = 0;
 /*---------------------------------------------------*/

}

여기서 저 주석사이 수정하는건데

 

형들 애초에 4비트와 4비트를 더하는 함수인데

 

어째서 출력결과도 4비트인거지...?

 

도와줭 ㅠ