fix bugs: if(ulong < 0)