codice:
#include <stdio.h>
void main () 
{
    const unsigned char a = 255u;
    printf("\nchar: %u\n", a);
    const short b = 512;
    const unsigned long c = 10000000ul;
    unsigned short x;  
    unsigned short y; 
    x = a-b;
    y = (b-a) * c;
    printf("x risulta = %u\n",x);
    printf("y risulta = %u\n",y);
}

Non riesco a capire perché il valore x = a - b mi restituisce un valore numerico e soprattutto, non riesco a capire se il valore è esatto.
Mi sapreste aiutare?