All submissions

Carry Flag in 8-bit Addition

Code

#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 total_diff = 0;
    uint8_t diff_a = 0, diff_b = 0;
    *carry = 0;
    if(a > b){ 
       diff_a =  255 - a; //255 - 200 = 55
        if(diff_a <= b)   // 55 <= 100
        {
            *carry = 1;
        }
    }else {
        diff_a = 255 - b;
        if(diff_a <= a)
        {
            *carry = 1;
        }
    }
    *result = a + b;
   
}


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;
}

Solving Approach

 

 

 

Loading...

Input

100 50

Expected Output

150 0