System.out.println((byte) (1.0/0));
System.out.println((short) (1.0/0));
System.out.println((int) (1.0/0));
System.out.println((long) (1.0/0));
Run Code Online (Sandbox Code Playgroud)
结果是:
-1
-1
2147483647
9223372036854775807
Run Code Online (Sandbox Code Playgroud)
以二进制格式:
1111 1111
1111 1111 1111 1111
0111 1111 1111 1111 1111 1111 1111 1111
0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
Run Code Online (Sandbox Code Playgroud)
为什么将无穷大转换为int和long整数将符号位保持为"0",而将字符串位设置为"1"以表示字节和短整数?