その数を思い出せない。記憶ルールが必要です。
その数を思い出せない。記憶ルールが必要です。
回答:
2,147,483,647です。それを記憶する最も簡単な方法は、タトゥーを経由することです。
Integer.MAX_VALUE
Javaで。
私が考えることができる最も正しい答えはInt32.MaxValue
です。
値が10を基に覚えるのが難しすぎると思われる場合は、2を基にしてみてください。1111111111111111111111111111111
11111111111111111111111111111111
ベース2の数値としての@Curd は正のままです(ベース2の負の例は-1
正になります)。そのビットのシーケンスは、32ビットの2の補数を表す場合にのみ負になります:)
Pi番号全体を覚えている場合、探している番号はPiの10進数の1,867,996,689から1,867,996,689までの位置にあります
数値文字列2147483647は、Piの1,867,996,680の10進数字に表示されます。3.14 ...... 86181221809936452346 2147483647 10527835665425671614 ...
ソース:http : //www.subidiom.com/pi/
10桁なので、電話番号のふりをします(米国にいると仮定します)。214-748-3647。それを呼び出すことはお勧めしません。
INT
代わりに誤って電話番号を保存した人々だけですVARCHAR
。
これを1つの大きな数字と考えるのではなく、分解して関連するアイデアを探してみてください。例:
上記は最大の負の数に適用されます。プラスはそのマイナス1です。
たぶん、上記の内訳はあなたにとって記憶に残るものではないかもしれません(それはほとんどエキサイティングではありません!)。
2^(31!)
か(2^31)!
?
最大の負(32ビット)値:-2147483648
(1 << 31)
最大の正の(32ビット)値:2147483647〜
(1 << 31)
ニーモニック:「酔って別名角質」
drunk ========= Drinking age is 21
AK ============ AK 47
A ============= 4 (A and 4 look the same)
horny ========= internet rule 34 (if it exists, there's 18+ material of it)
21 47 4(years) 3(years) 4(years)
21 47 48 36 48
とにかく、この正規表現を使用してください(これにより、文字列にInt32.MaxValue以下の10進形式の負でない整数が含まれているかどうかが判断されます)
[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-7][0-9]{1,5}|214748[0-2][0-9]{1,4}|2147483[0-5][0-9]{1,3}|21474836[0-3][0-9]{1,2}|214748364[0-7]
多分それはあなたが覚えておくのに役立つでしょう。
2147483647
。これはOPのための大きな助けになるだろう
それが私が覚えている方法です2147483647
:
これらを水平に書きます:
214_48_64_
and insert:
^ ^ ^
7 3 7 - which is Boeing's airliner jet (thanks, sgorozco)
これで2147483647になりました。
これが少なくとも少し役立つことを願っています。
2^(x+y) = 2^x * 2^y
2^10 ~ 1,000
2^20 ~ 1,000,000
2^30 ~ 1,000,000,000
2^40 ~ 1,000,000,000,000
(etc.)
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
したがって、2 ^ 31(signed int max)は2 ^ 30(約10億)倍の2 ^ 1(2)、つまり約20億です。また、2 ^ 32は2 ^ 30 * 2 ^ 2または約40億です。この近似方法は、約2 ^ 64(誤差が約15%に増加する)でも十分正確です。
正確な答えが必要な場合は、計算機を使用してください。
便利な単語単位の容量概算:
それについて2.1 * 10^9
です。正確を知る必要はありません2^{31} - 1 = 2,147,483,647
。
あなたはそれを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
std::cout << std::numeric_limits<int>::max() << "\n";
std::cout << std::numeric_limits<unsigned int>::max() << "\n";
これもJavaで取得できます。
System.out.println(Integer.MAX_VALUE);
ただし、Java整数は常に署名されていることに注意してください。
Pythonには任意精度の整数があります。しかし、Python 2では、これらはCの整数にマップされます。だからあなたはこれを行うことができます:
import sys
sys.maxint
>>> 2147483647
sys.maxint + 1
>>> 2147483648L
したがって、Python long
は整数が次の値より大きくなると切り替えます2^31 -1
2 ** 31を覚えておくためのニーモニックを以下に示します。1を引いて最大整数値を取得します。
a = 1、b = 2、c = 3、d = 4、e = 5、f = 6、g = 7、h = 8、i = 9
Boys And Dogs Go Duck Hunting, Come Friday Ducks Hide
2 1 4 7 4 8 3 6 4 8
私はそれらを覚えるのに十分な頻度で2から18までの2の累乗を使用しましたが、2 ** 31を覚えるのに苦労していません。必要に応じて計算したり、定数を使用したり、2Gとして推定したりするのは簡単です。
32ビット、1つは符号、31ビットの情報:
2^31 - 1 = 2147483647
なぜ-1?
最初はゼロなので、最大はカウントから1を引いたものです。
カウントは2 ^ 31ですが、1ではなく0からカウントするため、最大値を2147483648(2 ^ 31)にすることはできません。
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
まあ、冗談は別として、もしあなたが本当に役に立つ記憶規則を探しているなら、私はいつも大きな数字を覚えておくために使うものがあります。
数字を3桁から4桁の数字に分解し、携帯電話のキーボードのプロジェクションを使用して視覚的に覚えておく必要があります。画像に表示する方が簡単です。
ご覧のとおり、これからは3つの形状を覚えておかなければなりません。2つはテトリスLのように見え、1つは目盛りのように見えます。10桁の数字を覚えるよりもはるかに簡単です。
数字を思い出す必要があるときは、形状を思い出し、電話のキーボードを想像/見て、その上に形状を投影してください。おそらく最初はキーボードを見なければならないかもしれませんが、少し練習をすると、数字が左上から右下に向かっていることを覚えているので、頭の中で簡単に想像できます。
形状の方向と各形状の桁数を覚えていることを確認してください(たとえば、2147483647の例では、4桁のテトリスLと3桁のLがあります)。
この手法を使用すると、重要な番号を簡単に思い出すことができます(たとえば、16桁のクレジットカード番号を思い出しました)。
Int.maxInt()のようなものがない場合、整数に対してこれを行う最も簡単な方法は、16進数を使用することです。理由はこれです:
符号なしの最大値
8-bit 0xFF
16-bit 0xFFFF
32-bit 0xFFFFFFFF
64-bit 0xFFFFFFFFFFFFFFFF
128-bit 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
符号付き値、7Fを最大の符号付き値として使用
8-bit 0x7F
16-bit 0x7FFF
32-bit 0x7FFFFFFF
64-bit 0x7FFFFFFFFFFFFFFF
符号付き値、最大の符号付き値として80を使用
8-bit 0x80
16-bit 0x8000
32-bit 0x80000000
64-bit 0x8000000000000000
これはどのように作動しますか?これはバイナリ戦術と非常によく似ており、各16進数は正確に4ビットです。また、多くのコンパイラは、バイナリをサポートするよりも16進数をサポートしています。
F hex to binary: 1111
8 hex to binary: 1000
7 hex to binary: 0111
0 hex to binary: 0000
したがって、7Fは01111111 / 7FFFは0111111111111111と等しくなります。また、これを「非常に高い定数」に使用している場合、7F ...は安全な16進数ですが、7Fと80を試して印刷するだけでも十分簡単です。画面にそれがどれであるかを確認します。
0x7FFF + 0x0001 = 0x8000なので、損失は1つの数値のみなので、0x7Fを使用しても、通常、特に32ビット以上の使用を開始すると、より信頼性の高いコードとのトレードオフになりません。
最初に47を2回書きます(エージェント47が好きですよね?)。
--47----47
12
手元にあると思います(12 = 1ダースのため)。4
Agent 47の番号の最初の桁であるを掛けて、つまり47
、結果を最初のペアの右側に配置します。
12 * 4 = 48
--4748--47 <-- after placing 48 to the right of first 47
そして、乗算12
によって3
(あるエージェント47の数、の2番目の数字にするために7
必要なの、7 - 4 = 3
そして最初の2組の右、最後のペアスロットに結果を置きます)
12 * 3 = 36
--47483647 <-- after placing 36 to the right of first two pairs
最後に、右端の数字(この場合は2)から始めて、手から数字を1つずつドラッグし、最初の空のスロットに配置します。
2-47483647 <-- after placing 2
2147483647 <-- after placing 1
そこにあります!負の制限の場合、それは正の制限より絶対値が1多いと考えることができます。
数回練習すると、こつこつになります!
2GB
(回答の最小長はありますか?)
あなたは知ってしまった場合ASCIIテーブルを心ではオフとではありませんMaxInt
。
!GH6G = 21 47 48 36 47
覚える最も簡単な方法は、 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;
}
興味深いことに、Int32.MaxValueには2,147,486,647より多くの文字があります。
しかし、ここでも、コード補完があります。
ですから、覚えなければInt3<period>M<enter>
ならないのは、だけです。これは、Visual Studioで入力するのは6文字だけです。
更新 何らかの理由で私は反対票を投じられました。私が考えることができる唯一の理由は、彼らが私の最初の声明を理解しなかったということです。
「Int32.MaxValue」の入力には最大14文字が必要です。2,147,486,647では、コンマを挿入するかどうかに応じて、10文字または13文字で入力できます。
Iwannagohome
は覚えるより簡単です298347829
。ただし、-1の理由はありません。
!=
キーストローク。この貧しい.Netユーザーにとっては、in
+ .
+ ma
+ Returnです。
2 ^(10 * x)はおよそ10 ^(3 * x)であることを覚えておいてください-おそらくあなたはすでにキロバイト/キビバイトなどでこれに慣れているでしょう。
2^10 = 1024 ~= one thousand
2^20 = 1024^2 = 1048576 ~= one million
2^30 = 1024^3 = 1073741824 ~= one billion
intは31ビット(符号に+〜1ビット)を使用するため、2 ^ 30を2倍にすると約20億になります。32ビットを使用するunsigned intの場合、40億の場合は2倍になります。もちろん、エラー係数は大きくなるほど高くなりますが、正確な値を記憶する必要はありません(必要な場合は、事前定義された定数を使用する必要があります)。おおよその値は、何かが危険なほどオーバーフローに近い可能性がある場合に気付くのに十分です。
Int32は、数値を格納するために使用できる32ビットがあることを意味します。最上位ビットは符号ビットで、これは数値が正か負かを示します。したがって、正の数と負の数に2 ^ 31ビットがあります。
ゼロが正の数の場合、(前述の)の論理範囲を取得します
+2147483647から-2147483648
それが小さすぎると思われる場合は、Int64を使用します。
+9223372036854775807〜-9223372036854775808
そして、なぜあなたはこの数を覚えておきたいのですか?コードで使用するには?これらは静的な値(.netコア内)であり、コードで新しいintを作成するよりも高速であるため、コードでは常にInt32.MaxValueまたはInt32.MinValueを使用する必要があります。
私の声明:この数字を記憶で知っていれば…あなたはただ見せびらかしているだけです!
これを覚えておいてください:21 IQアイテム47
任意の電話パッドでデコードすることも、紙に書き留めることもできます。
「21 IQ ITEM 47」を思い出すために、「ヒットマン:コードネーム47には21個のミッションがあり、それぞれがIQアイテムそのものでした」と書きます。
または、「私は毎日21:47に歯をきれいにします。なぜなら、私はIQが高く、口の中のアイテムが嫌いだからです」。
de-encoded with any phone pad
ですか?