Hex { public static String s4(int v) { char[] result = new char[9]; if (v < 0) { result[0] = '-'; v = -v; } else { result[0] = '+'; } for (int i = 0; i < 8; i++) { result[8 - i] = Character.forDigit(v & 0x0f, 16); v >>= 4; } return new String(result); } private  Hex(); static String u8(long v); static String u4(int v); static String u3(int v); static String u2(int v); static String u2or4(int v); static String u1(int v); static String uNibble(int v); static String s8(long v); static String s4(int v); static String s2(int v); static String s1(int v); static String dump(byte[] arr, int offset, int length,
                              int outOffset, int bpl, int addressLength);  }
@Test public void testS4() { Assert.assertEquals("+00000000", Hex.s4(0)); Assert.assertEquals("-80000000", Hex.s4(-2147483648)); Assert.assertEquals("+075bcd15", Hex.s4(123456789)); Assert.assertEquals("+499602d2", Hex.s4(1234567890)); }