#include <stdio.h> #include <stdint.h> void add_with_carry(uint8_t a, uint8_t b, uint8_t* result, uint8_t* carry) { // Your logic here // uint8_t Cin = 0; // uint8_t Cout = 0; // uint8_t Abit = 0; // uint8_t Bbit = 0; // uint8_t Rbit = 0; // uint8_t Res = 0; // for(int i=0; i<8; i++) // { // Abit = (a>>i) & 0x01; // Bbit = (b>>i) & 0x01; // Rbit = (Abit^Bbit)^Cin; // Cout = (Abit&Bbit)|(Cin&(Abit^Bbit)); // Res = Res | (Rbit<<i); // Cin = Cout; // } *result = a+b; *carry = (*result < a); } int main() { uint8_t a, b, result, carry; scanf("%hhu %hhu", &a, &b); add_with_carry(a, b, &result, &carry); printf("%u ", result); printf("%u", carry); return 0; }
Test Cases
Test Results
Input
100 50
Expected Output
150 0