#include <stdio.h>

int main(void) {
	
	// your code goes here
	unsigned char tempCH = 384;
	signed char tempCH_signed_val = 384;
	unsigned int oveflowed_val = tempCH % 256;
	
    // Remember range of signed char is -128 to 127 
	// overflow will work following way for unsigned numbers
	// 255 256 257 258 ... 383 ... 511
	// 255 0   1   2   ... 127 ... 255
	
	// overflow will work following way for signed numbers
	// 255 256 257 258 ... 383  384  385 ... 510 511
	// 255 0   1   2   ... 127 -128 -127 ... -2  -1

	printf("value of overflowed for unsigned char : %d \n", tempCH); // answer is 2
	printf("overflowed valued is modulo 256( CHAR_MAX + 1 ) : %d \n", oveflowed_val );
	printf("value of overflowed for signed char : %d \n", tempCH_signed_val); // answer is 2

	return 0;
}
