我总是记不住那个数字,我需要一个记忆规则。
我在C#中编写了一些非常有用的方法,您可以在生产环境中使用:
public static int GetIntMaxValueGenius1()
{
int n = 0;
while (++n > 0) { }
return --n;
}
public static int GetIntMaxValueGenius2()
{
int n = 0;
try
{
while (true)
n = checked(n + 1);
}
catch { }
return n;
}
使用Groovy:
groovy -e " println Integer.MAX_VALUE "
2147483647
以下是需要记住的:
因此,2,147,483,647
0xFFFFFFFF >> 1 # => 2147483647
这很容易记住。在十六进制中,一个数字是4位。因此,对于无符号整数,将0x
和8个f
(0xffffffff
)写入Python或Ruby shell中,以获取十进制值。如果您需要有符号值,只需记住最高位用作符号。所以你必须把它留出来。你只需要记住,低3位为1且第4位为0的数字等于7,因此在Python或Ruby shell中写入0x7fffffff
。如果更容易记忆,您也可以写0x100000000 - 1
和0x80000000 - 1
。
$ jshell
| Welcome to JShell -- Version 9-Debian
jshell> System.out.println(Integer.MAX_VALUE)
2147483647
>>> int('1' * 31, base=2)
2147483647