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


当前回答

首先写出两次47(你喜欢47号特工,对吧?),保持如图所示的空格(每个破折号是一个数字的槽位。先2个,然后4个)

--47----47

认为你手里有12个(因为12 =一打)。将其乘以4,47号特工号的第一位数字,即47,并将结果放在你已经拥有的第一对的右边

12 * 4 = 48
--4748--47 <-- after placing 48 to the right of first 47

然后将12乘以3(为了得到47号特工的数字的第二个数字,即7,你需要7 - 4 = 3),并将结果放在前两对的右边,即最后一个对槽

12 * 3 = 36
--47483647 <-- after placing 36 to the right of first two pairs

最后,从最右边的数字(本例中为2)开始,一个接一个地从您的手中拖动数字,并将它们放在您获得的第一个空槽中

2-47483647 <-- after placing 2
2147483647 <-- after placing 1

你知道了!对于负极限,你可以认为它的绝对值比正极限大1。

练习几次,你就会掌握窍门的!

其他回答

它很容易记住。在十六进制中,1位是4位。因此,对于unsigned int,将0x和8 fs (0xffffffff)写入Python或Ruby shell中,以10为基数获得值。如果需要带符号的值,请记住最高位用作符号。所以你必须把它排除在外。您只需要记住,后面三位是1,第四位是0的数字等于7,所以将0x7fffffff写入Python或Ruby shell中。你也可以写0x100000000 - 1和0x80000000 - 1,如果这样更容易记住的话。

它是10位数字,所以假装它是一个电话号码(假设你在美国)。214-748-3647。我不建议调用它。

它是2147483647。最简单的记忆方法就是纹身。

在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)。

记住这是8梅森素数。

如果这太难了,它也是已知的四个双梅森质数中的第三个。

编辑每个评论请求:

欧几里得-欧拉定理指出,每个偶数完全数都具有2^(n−1)(2^n−1)的形式,其中2^n−1是质数。2^n−1形式的质数被称为梅森质数,并且要求n本身是质数。

我们知道INT32的长度当然是32位。根据对2的补码的普遍理解,有符号的INT32是32位- 1位。

为了求出具有给定位数的二进制数的大小,我们通常取2的n - 1次方,其中n等于位数。

因此,大小计算为2^(32 - 1)- 1 = 2^31 - 1。31是质数,如上所述,这种形式的质数是梅森质数。我们只要数一数就能证明它是八个这样的物体。要了解更多细节,请问欧拉,或者伯努利(他给他写信)。

见:https://books.google.ie/books?id=x7p4tCPPuXoC&printsec=frontcover&dq=9780883853283&hl=en&sa=X&ved=0ahUKEwilzbORuJLdAhUOiaYKHcsZD-EQ6AEIKTAA v = onepage&q = 9780883853283 f = false