#include <stdio.h> #include <stdint.h> void subtract_with_underflow(uint8_t a, uint8_t b, uint8_t *diff, uint8_t *carry) { // Write logic here *diff=a-b; *carry=(b>a)?1:0; /*if((a+b)>128) { *diff=a-b; *carry=0; } else if((a-b)==0) { *diff=a-b; *carry=0; } else if (((a+b)-256)==255) { *diff=a+b-256; *carry=1; } else { *diff=a-b; *carry=1; }*/ } int main() { uint8_t a, b, diff, carry; scanf("%hhu %hhu", &a, &b); subtract_with_underflow(a, b, &diff, &carry); printf("diff = %u, carry = %u", diff, carry); return 0; }
Test Cases
Test Results
Input
100 50
Expected Output
diff = 50, carry = 0