mad*_*d19 6 java int integer max
我有这个问题完全困扰了我.我必须创建一个等于Integer.MAX_VALUE的变量...(在Java中)
// The answer must contain balanced parentesis
public class Exercise{
public static void main(String [] arg){
[???]
assert (Integer.MAX_VALUE==i);
}
}
Run Code Online (Sandbox Code Playgroud)
挑战是源代码不能包含单词"Integer","Float","Double"或任何数字(0 - 9).
这是一个简洁的方法:
int ONE = "x".length();
int i = -ONE >>> ONE; //unsigned shift
Run Code Online (Sandbox Code Playgroud)
这是因为二进制中的最大整数值都是1,除了顶部(符号)位,它是零.但是二进制补码二进制中的-1都是1,所以通过向右移位-1一位,你得到最大值.
11111111111111111111111111111111 // -1 in twos compliment
01111111111111111111111111111111 // max int (2147483647)
Run Code Online (Sandbox Code Playgroud)
正如其他人所说.
int i = Integer.MAX_VALUE;
Run Code Online (Sandbox Code Playgroud)
是你想要的.
Integer.MAX_VALUE是"包装类"Integer中的"静态常量",它只是最大值.许多类都有静态常量,这些常量很有用.
| 归档时间: |
|
| 查看次数: |
21550 次 |
| 最近记录: |