我总是记不住电话号码。我需要一个记忆规则。
当前回答
2147483647
以下是你需要记住的:
是20亿。 接下来的三个三胞胎是这样增加的:100秒,400秒,600秒 第一个和最后一个三联体需要加3,这样它们就会四舍五入到50(例如147 + 3 = 150 & 647 + 3 = 650) 第二个三联数需要减去3才能四舍五入到80(例如483 - 3 = 480)
因此是2,147,483,647
其他回答
什么意思?应该很容易记住它是2^32。 如果你想要一个规则来记住这个数字的值,一个方便的经验法则是在二进制和十进制之间转换:
2^10 ~ 1000
这意味着2^20 ~ 1,000,000
2^30 ~ 10亿
2^31的两倍大约是20亿,2^32的两倍是40亿。
这是对任何二进制数进行粗略估计的一种简单方法。二进制中的10个0变成十进制中的3个0。
最好的记忆规则是: 21(神奇的数字!) 47(记住) 48(顺序!) 36(21 + 15,都是魔法!) 47又
记住5对数字也比记住10对数字容易。
大约是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
永远不要忘记任何类型的最大值:
如果它有32位,最大的可能值将是带有数字1的32位:
结果将是十进制的4294967295:
但是,由于也有负数的表示,4294967295除以2,得到2147483647。
因此,一个32位整数能够表示-2147483647到2147483647
Int32意味着你有32位可用来存储你的数字。最高位是符号位,这表示数字是正还是负。所以正数和负数都有2^31位。
如果0是正数,则得到(前面提到过)的逻辑范围
+2147483647到-2147483648
如果你认为这太小了,请使用Int64:
+9223372036854775807 至 -9223372036854775808
你为什么要记住这个号码?在代码中使用?您应该始终使用Int32。MaxValue或Int32。因为这些是静态值(在.net核心中),因此使用起来比用代码创建一个新的int更快。
我的陈述:如果能记住这个数字。你这是在炫耀!
推荐文章
- Java整数到字节数组
- 如何优雅地检查一个数字是否在一个范围内?
- 从整数列表中,求出最接近给定值的数
- 在python中将整数转换为二进制
- 如何将对象转换为int型
- Java如何处理整数下溢和溢出,如何检查它?
- 在Java和c#中,int和Integer的区别是什么?
- 是否有一种方法可以迭代一系列整数?
- 为什么整数除法产生一个浮点数而不是另一个整数?
- 在python中最安全的方法将浮点数转换为整数?
- 我如何工作围绕JavaScript的parseInt八进制行为?
- 将两个整数以唯一且确定的方式映射为一个整数
- 如何在Java中正确地比较两个整数?
- 将逗号分隔的字符串转换为整数数组?
- 将逗号分隔的字符串转换为整数数组?