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


当前回答

你会发现在二进制中Int32的最大值是11111111111111111111111111111111111111111 但以10为基数,你会发现它是2147483647或2^31-1或Int32。MaxValue

其他回答

这里有一个记忆2**31,减去1得到最大整数值的助记符。

a = 1, b = 2, c = 3 d = 4 = 5, f = 6 g = 7, 8 h = = 9

Boys And Dogs Go Duck Hunting, Come Friday Ducks Hide
2    1   4    7  4    8        3    6      4     8

我经常使用2到18的幂来记住它们,但即使是我也没有费心去记住2**31。根据需要计算或使用常数,或估计为2G太容易了。

它有32位,因此可以存储2^32个不同的值。其中一半是负面的。

答案是2147,483,647

最低的是- 2,147,483,648。

(注意这里多了一个负数。)

我在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;
}

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

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

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

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

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

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

什么意思?应该很容易记住它是2^32。 如果你想要一个规则来记住这个数字的值,一个方便的经验法则是在二进制和十进制之间转换:

2^10 ~ 1000

这意味着2^20 ~ 1,000,000

2^30 ~ 10亿

2^31的两倍大约是20亿,2^32的两倍是40亿。

这是对任何二进制数进行粗略估计的一种简单方法。二进制中的10个0变成十进制中的3个0。