我总是记不住电话号码。我需要一个记忆规则。


当前回答

大约是2.1 * 10^9。不需要知道确切的2^{31}- 1 = 2,147,483,647。

C

你可以在C语言中找到它:

#include <stdio.h>
#include <limits.h>

main() {
    printf("max int:\t\t%i\n", INT_MAX);
    printf("max unsigned int:\t%u\n", UINT_MAX);
}

给出(好吧,没有,)

max int:          2,147,483,647
max unsigned int: 4,294,967,295

C + 11 +

std::cout << std::numeric_limits<int>::max() << "\n";
std::cout << std::numeric_limits<unsigned int>::max() << "\n";

Java

你也可以用Java得到这个:

System.out.println(Integer.MAX_VALUE);

但是请记住,Java整数总是有符号的。

Python 2

Python有任意的精确整数。但在python2中,它们被映射为C整数。所以你可以这样做:

import sys
sys.maxint
>>> 2147483647
sys.maxint + 1
>>> 2147483648L

所以当整数大于2^31 -1时,Python会切换为long

其他回答

在C语言中,在#include <stdint.h>后使用INT32_MAX。 在c++中,在#include <cstdint>后使用INT32_MAX。

或INT_MAX平台特定的大小或UINT32_MAX或UINT_MAX unsigned int。参见http://www.cplusplus.com/reference/cstdint/和http://www.cplusplus.com/reference/climits/。

或运算符(int)。

好吧,除了笑话,如果你真的在寻找一个有用的记忆规则,有一个我经常用来记住大数字的规则。

你需要把你的数字分成3-4个数字,然后用手机键盘上的投影来直观地记住它们。更容易在图片上显示:

正如你所看到的,从现在开始你只需要记住3个形状,其中2个看起来像俄罗斯方块L,一个看起来像一个勾。这绝对比记忆一个10位数要容易得多。

当你需要回忆数字的时候,回忆一下数字的形状,想象一下手机键盘上的形状,然后投射到键盘上。也许一开始你必须看着键盘,但经过一点练习,你就会记住数字是从左上到右下的,这样你就能在脑海中简单地想象它了。

只要确保你记得形状的方向和每个形状中的数字数量(例如,在2147483647的例子中,我们有一个4位数的俄罗斯方块L和一个3位数的L)。

你可以使用这个技巧轻松地记住任何重要的数字(例如,我记得我的16位信用卡号码等)。

随便找个计算器,在十六进制模式下输入“7FFFFFFF”,然后切换到十进制。

2147483647.

在路径上使用Groovy:

groovy -e " println Integer.MAX_VALUE "

(在Java上下文中,Groovy对于快速参考非常有用。)

最好的记忆规则是: 21(神奇的数字!) 47(记住) 48(顺序!) 36(21 + 15,都是魔法!) 47又

记住5对数字也比记住10对数字容易。