long c = (long)a - (long)b;
long d = (long)b - (long)a;
int e = (c & 0x8000000000000000) >> 63;
int f = (d & 0x8000000000000000) >> 63;
return f-e;
Do giới hạn của kiểu int32, -1.5 tỷ - 1.5 tỷ > 0xFFFFFFFF nên tràn. Dùng kiểu lớn hơn để cover.