This is a follow up question.
So, Java store's integers in two's-complements and you can do the following:
int ALPHA_MASK = 0xff000000;
In c# this requires the use of an unsigned integer, uint, because it interprets this to be 4278190080 instead of -16777216.
My question, how do declare negative values in hexadecimal notation in c#, and how exactly are integers represented internally? What are the differences to Java here?