// --------------------
// Representations.java
// --------------------
final class RepresentationsTest {
public static void main (String[] args) {
{
final int i = 2;
assert i == 2;
assert i == 02;
assert i == 0x2;
assert Integer.toBinaryString(i).equals("10");
assert Integer.toOctalString(i).equals("2");
assert Integer.valueOf(i).toString().equals("2");
assert Integer.toHexString(i).equals("2");
}
{
final int i = 17;
assert i == 17;
assert i == 021;
assert i == 0x11;
assert Integer.toBinaryString(i).equals("10001");
assert Integer.toOctalString(i).equals("21");
assert Integer.valueOf(i).toString().equals("17");
assert Integer.toHexString(i).equals("11");
}
{
final int i = -2;
assert i == -2;
assert i == -02;
assert i == 037777777776;
assert i == -0x2;
assert i == 0xfffffffe;
assert Integer.toBinaryString(i).equals("11111111111111111111111111111110");
assert Integer.toOctalString(i).equals("37777777776");
assert Integer.valueOf(i).toString().equals("-2");
assert Integer.toHexString(i).equals("fffffffe");
}
{
final int i = 2;
final int j = ~i + 1;
assert i == 2;
assert j == -2;
assert Integer.toBinaryString(i).equals( "10");
assert Integer.toBinaryString(j).equals("11111111111111111111111111111110");
}
{
final int i = 2;
final int j = i << 3;
assert i == 2;
assert j == 16;
assert Integer.toBinaryString(i).equals( "10");
assert Integer.toBinaryString(j).equals("10000");
final int k = j >> 3;
assert j == 16;
assert k == 2;
assert Integer.toBinaryString(j).equals("10000");
assert Integer.toBinaryString(k).equals( "10");
}
{
final int i = -2;
final int j = i << 3;
assert i == -2;
assert j == -16;
assert Integer.toBinaryString(i).equals("11111111111111111111111111111110");
assert Integer.toBinaryString(j).equals("11111111111111111111111111110000");
final int k = j >> 3;
assert j == -16;
assert k == -2;
assert Integer.toBinaryString(j).equals("11111111111111111111111111110000");
assert Integer.toBinaryString(k).equals("11111111111111111111111111111110");
}
{
final int i = -2;
final int j = i << 3;
assert i == -2;
assert j == -16;
assert Integer.toBinaryString(i).equals("11111111111111111111111111111110");
assert Integer.toBinaryString(j).equals("11111111111111111111111111110000");
final int k = j >>> 3;
assert j == -16;
assert k == 536870910;
assert Integer.toBinaryString(j).equals("11111111111111111111111111110000");
assert Integer.toBinaryString(k).equals( "11111111111111111111111111110");
}
{
final char c = Character.MAX_VALUE;
final char d = c >> 3;
final char e = c >>> 3;
assert Long.toBinaryString((long) c).equals("1111111111111111");
assert Long.toBinaryString((long) d).equals( "1111111111111");
assert Long.toBinaryString((long) e).equals( "1111111111111");
}
{
short i = 1;
while (i > 0)
++i;
assert i == Short.MIN_VALUE;
assert i == -32768;
assert i == (short) 0100000;
assert i == (short) 0x8000;
}
{
int i = Integer.MAX_VALUE;
++i;
assert i == Integer.MIN_VALUE;
assert i == -2147483648;
assert i == 020000000000;
assert i == 0x80000000;
assert Integer.toBinaryString(i).equals("10000000000000000000000000000000");
assert Integer.toOctalString(i).equals("20000000000");
assert Integer.valueOf(i).toString().equals("-2147483648");
assert Integer.toHexString(i).equals("80000000");
}
{
int i = Integer.MIN_VALUE;
--i;
assert i == Integer.MAX_VALUE;
assert i == 2147483647;
assert i == 017777777777;
assert i == 0x7fffffff;
assert Integer.toBinaryString(i).equals("1111111111111111111111111111111");
assert Integer.toOctalString(i).equals("17777777777");
assert Integer.valueOf(i).toString().equals("2147483647");
assert Integer.toHexString(i).equals("7fffffff");
}
System.out.println("Done.");}}
syntax highlighted by Code2HTML, v. 0.9.1