我总是记不住电话号码。我需要一个记忆规则。
当前回答
Int32意味着你有32位可用来存储你的数字。最高位是符号位,这表示数字是正还是负。所以正数和负数都有2^31位。
如果0是正数,则得到(前面提到过)的逻辑范围
+2147483647到-2147483648
如果你认为这太小了,请使用Int64:
+9223372036854775807 至 -9223372036854775808
你为什么要记住这个号码?在代码中使用?您应该始终使用Int32。MaxValue或Int32。因为这些是静态值(在.net核心中),因此使用起来比用代码创建一个新的int更快。
我的陈述:如果能记住这个数字。你这是在炫耀!
其他回答
无论如何,取这个正则表达式(它确定字符串是否包含一个十进制形式的非负整数,也不大于Int32.MaxValue)
[0-9] {1, 9} | [0, 1] [0-9] {1, 8} | 20 [0-9] {1, 8} | 21 [0, 3] [0-9] {1, 7} | 214 [0-6] [0-9] {1, 7} | 2147 [0, 3] [0-9] {1, 6} | 21474 [0] [0-9] {1, 5} | 21 4748 [2-0] [0-9] {1, 4} | 2147483 [0 to 5] [0-9] {1, 3} | 21474836 [0, 3] [0-9] {1, 2} | 214748364 [0]
也许能帮你记起来。
max_signed_32_bit_num = 1 << 31 - 1; // alternatively ~(1 << 31)
编译器无论如何都应该优化它。
我更喜欢1 << 31 - 1
0x7fffffff因为你不需要计数fs
Unsigned (pow(2,31)) - 1,因为你不需要<math.h>
这就是我记住2147483647的方法
在遥远的大草原上,擎天柱三人对着四十个七分咒
2 - To
1 - A
4 - Far
7 - Savannah
4 - Quarter
8 - Optimus
3 - Trio
6 - Hexed
4 - Forty
7 - Septenary
记住这是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
什么意思?应该很容易记住它是2^32。 如果你想要一个规则来记住这个数字的值,一个方便的经验法则是在二进制和十进制之间转换:
2^10 ~ 1000
这意味着2^20 ~ 1,000,000
2^30 ~ 10亿
2^31的两倍大约是20亿,2^32的两倍是40亿。
这是对任何二进制数进行粗略估计的一种简单方法。二进制中的10个0变成十进制中的3个0。
推荐文章
- Java整数到字节数组
- 如何优雅地检查一个数字是否在一个范围内?
- 从整数列表中,求出最接近给定值的数
- 在python中将整数转换为二进制
- 如何将对象转换为int型
- Java如何处理整数下溢和溢出,如何检查它?
- 在Java和c#中,int和Integer的区别是什么?
- 是否有一种方法可以迭代一系列整数?
- 为什么整数除法产生一个浮点数而不是另一个整数?
- 在python中最安全的方法将浮点数转换为整数?
- 我如何工作围绕JavaScript的parseInt八进制行为?
- 将两个整数以唯一且确定的方式映射为一个整数
- 如何在Java中正确地比较两个整数?
- 将逗号分隔的字符串转换为整数数组?
- 将逗号分隔的字符串转换为整数数组?