我总是记不住电话号码。我需要一个记忆规则。
当前回答
最简单的方法是查看std::numeric_limits< int >::max()
例如(来自MSDN),
// numeric_limits_max.cpp
#include <iostream>
#include <limits>
using namespace std;
int main() {
cout << "The maximum value for type float is: "
<< numeric_limits<float>::max( )
<< endl;
cout << "The maximum value for type double is: "
<< numeric_limits<double>::max( )
<< endl;
cout << "The maximum value for type int is: "
<< numeric_limits<int>::max( )
<< endl;
cout << "The maximum value for type short int is: "
<< numeric_limits<short int>::max( )
<< endl;
}
其他回答
这就是我记住2147483647的方法
在遥远的大草原上,擎天柱三人对着四十个七分咒
2 - To
1 - A
4 - Far
7 - Savannah
4 - Quarter
8 - Optimus
3 - Trio
6 - Hexed
4 - Forty
7 - Septenary
不要把它看成一个大数字,试着把它分解,然后寻找相关的想法。例如:
斯诺克的最大击球次数为2次(最大击球次数为147次) 4年(48个月) 3年(36个月) 4年(48个月)
上述适用于最大的负数;正的是- 1。
也许上面的分类对你来说不会再令人难忘了(它并不令人兴奋!),但希望你能想出一些令人难忘的主意!
32位,1位符号,31位信息
2^31 - 1 = 2147483647
为什么1 ? 因为第一个是0,所以最大的是count - 1。
编辑cantfindaname88
计数是2^31,但最大的不可能是2147483648(2^31),因为我们是从0开始计数的,而不是1。
Rank 1 2 3 4 5 6 ... 2147483648
Number 0 1 2 3 4 5 ... 2147483647
另一种解释只有3位:1位是符号,2位是信息
2^2 - 1 = 3
下面是所有可能的3位值:(2^3 = 8个值)
1: 100 ==> -4
2: 101 ==> -3
3: 110 ==> -2
4: 111 ==> -1
5: 000 ==> 0
6: 001 ==> 1
7: 010 ==> 2
8: 011 ==> 3
假设。net -
Console.WriteLine(Int32.MaxValue);
它是2147483647。最简单的记忆方法就是纹身。
推荐文章
- 如何优雅地检查一个数字是否在一个范围内?
- 从整数列表中,求出最接近给定值的数
- 在python中将整数转换为二进制
- 如何将对象转换为int型
- Java如何处理整数下溢和溢出,如何检查它?
- 在Java和c#中,int和Integer的区别是什么?
- 是否有一种方法可以迭代一系列整数?
- 为什么整数除法产生一个浮点数而不是另一个整数?
- 在python中最安全的方法将浮点数转换为整数?
- 我如何工作围绕JavaScript的parseInt八进制行为?
- 将两个整数以唯一且确定的方式映射为一个整数
- 如何在Java中正确地比较两个整数?
- 将逗号分隔的字符串转换为整数数组?
- 将逗号分隔的字符串转换为整数数组?
- 整数的最大值