int32の最大値はいくつですか?


1380

その数を思い出せない。記憶ルールが必要です。


48
符号なし:2³²-1= 4・1024³-1; 符号付き:-2³¹.. +2³¹-1(符号ビットが最上位ビットであるため)。2⁰= 1から2¹⁰= 1024を学び、組み合わせるだけです。1024 = 1k、1024²= 1M、1024³= 1G
2011年

31
私は通常、3ビットごとに10進数字であることを覚えています。これにより、正確な桁に移動できます。32ビットは10桁です。
2013年

8
@JoachimSauerは、少なくともこれらの種類の数値を認識できるようになれば、デバッグに役立ちます。
Dunaril 2013年

72
「ディスクがいっぱいになると、すべてのmbytesを削除するとアーカイブされます」(2文字、1文字、4文字、7文字、4文字、8文字、3文字、6文字、4文字、7文字)
UltraCommit

8
int32では不十分な場合:bbc.com/news/world-asia-30288542
ingaham

回答:


5073

2,147,483,647です。それを記憶する最も簡単な方法は、タトゥーを経由することです。


83
私の記憶法:2 ^ 10は1000に非常に近いので、2 ^(3 * 10)は1000 ^ 3または約10億です。32ビットの1つが符号に使用されるため、最大値は実際には2 ^ 31のみであり、これは2 ^(3 * 10)で得られる量の約2倍、20億です。
16807

164
コンマなしの2147483647。
Vern D.

20
単に使用してください:Integer.MAX_VALUEJavaで。
Tim

184
タトゥーが顔に付いた場合は、鏡で正しく読み取れるように入れ替えることを忘れないでください。そうしないと、746,384,741,2が表示されますが、これは誤りであり、恥ずかしいことです。
ラリーS

127
2,147,483,647 = 0x7FFFFFFF、覚えておきたい場合は、16進数を使用してください。
roottraveller 2016

493

私が考えることができる最も正しい答えはInt32.MaxValueです。


18
これが存在する前は、すべてのプロジェクトでINT32_MINとINT32_MAXを#defineしていたものです。
WildJoe

45
@CamiloMartinねえ。私はそれに憤慨しています。それ以上の入れ墨の場所はありませんでした。明らかに、iso-8859-1文字セット、およびPiから31415の小数が優先されなければなりませんでした
sehe

3
あなたがプログラミングしているとき:99%のケースではそうです。しかし、プログラミングアプローチを計画したり、データを操作したりする場合、その数は非常に多いものの、約20億に相当することを知りたい場合があります。:)
Andre Figueiredo 2013年

@sehe latin1 / Windows 1252はもう時代遅れではありませんか?ASCIIの7バイトに収まらない場合、メインメモリ内の場所にふさわしいとは思いません。つまり... すべての UNICODEコードページはある程度便利ですが、1メガのスキンスペースを超えると無駄になります。(言うまでもなく、「pageup / pagedown」または「pagehome / pageend」の説明的なグリフはまだ含まれていません)

1
このプロパティは、正しい数に言及するのに加えて良いアドバイスかもしれません。ただし、この答えは、価値を判断するための移植できない方法に言及しているだけであり、どのプログラミング言語でこれが機能するかについても言及していないため、私はこの答えが好きではありません...
mozzbozz

439

値が10を基に覚えるのが難しすぎると思われる場合は、2を基にしてみてください。1111111111111111111111111111111


145
@Nick Whaley:いいえ、1111111111111111111111111111111はプラスです。11111111111111111111111111111111は負になります:-)
カード

58
ベース16はさらに簡単です7FFFFFFF
ネルソンガルデマングラツィアーノ2014

34
11111111111111111111111111111111ベース2の数値としての@Curd は正のままです(ベース2の負の例は-1正になります。そのビットのシーケンスは、32ビットの2の補数を表す場合にのみ負になります:)
BlueRaja-Danny Pflughoeft

143
覚えやすいのは、ベース2,147,483,647です。そして、あなたは覚えているすべては1です
big_tommy_7bb

82
tim_barber_7BB @実際に、それは10だ
fscheidl

317

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/


30
私があなたの答えを読み始めたとき、私は20桁目のような実用的なものを期待していました。
JqueryToAddNumbers 2015年

95
これはかなりクールに見えます。1,867,996,680を覚えておくための別のメモリルールはありますか?どのインデックスから探し始めるかを思い出すのは難しいと思います...
Alderath、2016年

10
Pi番号全体を覚えている場合...」-いいえ、できません。これは不合理です {このQ&Aの投稿が1つまたは2つある可能性があります} 8-D
SlySven

10
私は、典型的には、桁数380630713 ....から始まるSQRT(2)で10の小数としてそれを覚えて@Alderath
ヘンリック

2
@Alderath:1867996680が表示されます。2.の平方根の380,630,713rd小数点以下の桁の数値文字列
Yairハルバーシュタット

290

10桁なので、電話番号のふりをします(米国にいると仮定します)。214-748-3647。それを呼び出すことはお勧めしません。


13
電話番号として覚えていると言えば、電話スパマーが使用している可能性があります:mrnumber.com/1-214-748-3647
Steven

8
「ダラスには「748」の交換はありません。この番号は偽物です。」-shamblehによってリンクされたページから
TarnayKálmán

104
@Steven彼らはスパマーではないと思います。MySQLのINT代わりに誤って電話番号を保存した人々だけですVARCHAR
Zarel、2011

8
それを呼んでみました。それは数回鳴り、その後エラーダイヤルトーンになりました。=(
Krythic 2016

172

これを1つの大きな数字と考えるのではなく、分解して関連するアイデアを探してみてください。例:

  • 最大2つのスヌーカーブレーク(最大ブレークは147)
  • 4年(48か月)
  • 3年(36か月)
  • 4年(48か月)

上記は最大の負の数に適用されます。プラスはそのマイナス1です。

たぶん、上記の内訳はあなたにとって記憶に残るものではないかもしれません(それはほとんどエキサイティングではありません!)。


99
これは、私が見た中で最も複雑なニューモニックデバイスの1つです。印象的です。
ベンホフスタイン2008

9
えー、Derren Brownの同類は実際にこの種のアプローチを提唱しています-数値をランダムなものに分解しますが、ただの負荷よりも覚えやすいです: channel4.com/entertainment/tv/microsites/M/mindcontrol/remember/…
ルークベネット

19
私はより良いニーモニックを持っています:覚えておく必要があるのは2と31だけです。ああ、待って...
Tamas Czinege

28
@DrJokepu私は、演算子の優先順位についてはわからない...とはどういう意味ということ2^(31!)(2^31)!
Alderath、

1
@ルシオ私の答えは、最初の例では、47ではなく48で終わる最大の負の数に関連していることに注意してください
ルークベネット

144

最大の負(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

27
ニーモニックを思い出すのが最も難しい世界。0118 999 88199 9119 752 ... 3を記憶できれば、これを記憶できます。
BenM 2014年

11
@Rondles私はそれが実際に最後に7253だと思います。
Tim Tisdall、2014年

21
いいえ。ここの飲酒年齢は18歳です...私はこのニーモニックを使用できないようで、私の人生は台無しにされています。
ジョフリー2014年

4
@Aaren Cordova彼らは、stackoverflowは決して面白くなく、Q&Aサイトに過ぎないと言っていました。私は通常、この回答を指摘します。このことは、唯一の天才心の中に作成することができ、私はこれが意味あるアート。
Mohd Abdul Mujib

5
最大の負の32ビット整数、つまり64ビットは-1です。
フレッドミッチェル

75

とにかく、この正規表現を使用してください(これにより、文字列に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]

多分それはあなたが覚えておくのに役立つでしょう。


12
それは私にはずっと簡単で楽しいように思えます。実際には、それよりもはるかに簡単です2147483647。これはOPのための大きな助けになるだろう
Sнаđошƒаӽ

61

それが私が覚えている方法です2147483647

  • 214-2.14はおよそpi-1であるため
  • 48 = 6 * 8
  • 64 = 8 * 8

これらを水平に書きます:

214_48_64_
and insert:
   ^  ^  ^
   7  3  7 - which is Boeing's airliner jet (thanks, sgorozco)

これで2147483647になりました。

これが少なくとも少し役立つことを願っています。


3
良いですね!214のルールはpi-1である必要があると思います。また、マスクは64ではなく68を示します。

あなたはそれ以上に行くことができます。小数点を削除し、piと2 ^ 31-1を比較します。同じ位置では141対147になるため、最後の数字は7になります。その後、592対483で、すべて互いに1桁ずれています。そして643対647、それは再び7になることです。
Peter Cooper

@PeterCooper Altho piの小数は1415926_5_35で始まります(4ではなく5であることに注意してください)
Moberg

15
私のニーモニックは4294967296(覚えやすい)を2で除算することです
MM

56
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 ^ 16〜= 64千// uint16
  • 2 ^ 32〜= 40億// uint32、IPv4、unixtime
  • 2 ^ 64〜= 1600兆(別名160億億または1600億兆)// uint64、 "bigint"
  • 2 ^ 128〜= 256兆1000兆(別名256兆兆兆兆)// IPv6、GUID

76
それはハードドライブメーカーが言ったことです。
スコットスタッフォード

46

適切な計算機を使用して、16進モードで「7FFFFFFF」と入力してから、10進数に切り替えます。

2147483647。


150
まともな電卓なら2 ^ 31もできます。
クリストファー

17
わからない2 ^ 31は長い道のりのように思える:/
米国の

2
または、16進数でそれを覚えておいてください
バーノン

4
ただ... 16進数で書いてください。またはInt32.MaxValue/numeric_limits<int32_t>::max()
sehe

8
@Christofferそれは実際には2 ^
31-1

36

それについて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で取得できます。

System.out.println(Integer.MAX_VALUE);

ただし、Java整数は常に署名されていることに注意してください。

Python 2

Pythonには任意精度の整数があります。しかし、Python 2では、これらはCの整数にマップされます。だからあなたはこれを行うことができます:

import sys
sys.maxint
>>> 2147483647
sys.maxint + 1
>>> 2147483648L

したがって、Python longは整数が次の値より大きくなると切り替えます2^31 -1


Pythonの答えは時代遅れの参照です:stackoverflow.com/questions/13795758/...
NOhs

@NOhsリンクに感謝しますが、私のPythonの答えは「Python 2」についてです(2をセクションタイトルに追加して、わかりやすくしています)。だから私の答えは時代遅れではありません。(しかし、Python 2は確かにそうです)
Martin Thoma

35

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として推定したりするのは簡単です。


3
2 ^ 10、2 ^ 11、2 ^ 12、または2 ^ 17(すべてゼロ)に対して何をしますか?
スーパーキャット2013年

2
@supercat私はa = 0をリベースするか、o = 0を使用します。
Mark Ransom 2013年

これは素晴らしいです。ありがとう、あなたは私の命を救います。
2015

31

32ビット、1つは符号、31ビットの情報:

2^31 - 1 = 2147483647

なぜ-1?
最初はゼロなので、最大はカウントから1を引いたものです。

cantfindaname88の編集

カウントは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

@ cantfindaname88:2 ^ 31 =合計の組み合わせなので、0から(2 ^ 31 -1)の範囲です。はい最初は0である
ルチアーノ

30

まあ、それは32ビットなので、2 ^ 32の異なる値を格納できます。それらの半分は否定的です。

ソリューションは2,147,483,647です

そして最低は-2,147,483,648です。

(もう1つの負の値があることに注意してください。)


32ビットなので、2 ^ 32の値を格納できます。劣らず。
JB。

28

まあ、冗談は別として、もしあなたが本当に役に立つ記憶規則を探しているなら、私はいつも大きな数字を覚えておくために使うものがあります。

数字を3桁から4桁の数字に分解し、携帯電話のキーボードのプロジェクションを使用して視覚的に覚えておく必要があります。画像に表示する方が簡単です。

ここに画像の説明を入力してください

ご覧のとおり、これからは3つの形状を覚えておかなければなりません。2つはテトリスLのように見え、1つは目盛りのように見えます。10桁の数字を覚えるよりもはるかに簡単です。

数字を思い出す必要があるときは、形状を思い出し、電話のキーボードを想像/見て、その上に形状を投影してください。おそらく最初はキーボードを見なければならないかもしれませんが、少し練習をすると、数字が左上から右下に向かっていることを覚えているので、頭の中で簡単に想像できます。

形状の方向と各形状の桁数を覚えていることを確認してください(たとえば、2147483647の例では、4桁のテトリスLと3桁のLがあります)。

この手法を使用すると、重要な番号を簡単に思い出すことができます(たとえば、16桁のクレジットカード番号を思い出しました)。


きちんとしたアイデア!形状1は2147を与え、形状2は483を与え、形状3は647を与えることになっていますが、描かれているように、6 5 47 と解釈される可能性があります。)対(シェイプ3のように)いつスキップするか?また、形状はそれぞれ4、3、および3桁をエンコードすることを覚えておく必要があります。または、直線の代わりに6から4の円弧でシェイプ3を描くこともできます。
jskroch 2017年

@Squinchええと、特にint.Maxを覚えている場合は特に問題ありません。約20億であるため、10の数値が含まれています(つまり、最初の図形に4つの数値があり、次に2番目と3番目の形状がある場合)形状はそれに応じて3つあります)。ただし、この方法を任意の数に使用する場合は、これが良い点です。また、この方法を使用して覚えるのが難しい数値があります(つまり、1112など)。一方で、とにかくその数を覚えておくことは難しくありません。ですから、それはあなた次第だと思います。このために何か面白いものを思いついたら教えてください。:)
Ivan Yurchenko '19 / 10/19

はい、私はこのメソッドを使用して任意の数字列を呼び出すことを考えていましたが、この特定のint.Max値では、メソッドはかなりうまく機能します。あなたが言ったように、数字の繰り返しは問題です。実際、繰り返されるシーケンス(2323など)は問題です。それ自体と交差するシーケンス(2058など)を描くのは困難です。どんな暗記技法でも、いくつかの情報を覚えておく必要があります。どのタイプの情報が頭に残りやすいかは個人の好みです。
jskroch

1
これは私がピンコードなどを覚えている方法ですが、突然、コンピューターに入力して、テンキーが垂直に反転していることに気付く必要があります。ですから、それはちょっとした挑戦です。
ニバリウス2018年

テキサス州ダラスの誰かが奇妙な電話を何度も受けており、@ IvanYurchenkoのせいだとは思いません。
Bob Stein

21

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ビット以上の使用を開始すると、より信頼性の高いコードとのトレードオフになりません。


21

最初に47を2回書きます(エージェント47が好きですよね?)。

--47----47

12手元にあると思います(12 = 1ダースのため)。4Agent 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多いと考えることができます。

数回練習すると、こつこつになります!


「正の限界よりも絶対値​​で1つ多い」と答えました。
Navin、2015年

20

2GB

(回答の最小長はありますか?)


18
それはGiBであるべきではありませんか?
Jouke van der Maas、

9
@JoukevanderMaas-実際には4Bになるはずです。
Ted Hoppが2012

1
これが、32ビットコンピュータで使用できるRAMの制限が4GBである理由です
Serj Sagan 2013

3
4GBの値は、符号なし整数で正しくなります。署名されたintを持っている場合、可能な最大値を得るには明らかに2で除算する必要があります
スイスコーダー2013年

3
32ビットでは、ユーザープロセス用に2GBのメモリ領域が確保され、カーネル用に2GBが確保されます。カーネルに1 GBのみを予約するように構成できます
Rune


15

あなたは知ってしまった場合ASCIIテーブルを心ではオフとではありませんMaxInt
!GH6G = 21 47 48 36 47


私がこの回答を書いたとき、GH6Gがそれほど多くのGoogleヒットを持っていることを知りませんでした、そして今、私はこれを自分で使いました:-)
Mark Hurd

15

暗記するのに最適なルールは次のとおりです:
21(マジックナンバー!)
47(ただ覚えてください)
48(シーケンシャル!)
36(21 + 15、両方のマジック!)再び
47

また、10桁よりも5ペアを覚える方が簡単です。


14

覚える最も簡単な方法は、 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;
}

14

興味深いことに、Int32.MaxValueには2,147,486,647より多くの文字があります。

しかし、ここでも、コード補完があります。

ですから、覚えなければInt3<period>M<enter>ならないのは、だけです。これは、Visual Studioで入力するのは6文字だけです。

更新 何らかの理由で私は反対票を投じられました。私が考えることができる唯一の理由は、彼らが私の最初の声明を理解しなかったということです。

「Int32.MaxValue」の入力には最大14文字が必要です。2,147,486,647では、コンマを挿入するかどうかに応じて、10文字または13文字で入力できます。


2
しかし、重要なのは、入力する必要がある文字の数ではなく、それをメモする方法です。きっとIwannagohomeは覚えるより簡単です298347829。ただし、-1の理由はありません。
glglgl 2013年

3
それよりも少ないかもしれませんが、独自の最大値のスニペットを作成します。 "imv" <tab> <tab>
BradleyDotNET 2014年

4
文字!=キーストローク。この貧しい.Netユーザーにとっては、in+ .+ ma+ Returnです。
マイケル-どこですかClay Shirky

11

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倍になります。もちろん、エラー係数は大きくなるほど高くなりますが、正確な値を記憶する必要はありません(必要な場合は、事前定義された定数を使用する必要があります)。おおよその値は、何かが危険なほどオーバーフローに近い可能性がある場合に気付くのに十分です。


10
オフトピック:2 ^ 4 = 4 ^ 2、したがって、べき乗は可換です!
Adam Liss

10
@ Pier-OlivierThibaultいいえ、私はいつもそれを使用しています!今、私は私のすべての数学がなぜ間違っているのかを知る必要があります。おそらく乗算エラーと関係があります。とにかく、さようなら!
tckmn 2013年

9

これは、2,147,483,647を覚えておくための方法です

遠いサバンナクォーターオプティマストリオへ

2 - To
1 - A
4 - Far
7 - Savannah
4 - Quarter
8 - Optimus
3 - Trio
6 - Hexed
4 - Forty
7 - Septenary

7

どういう意味ですか?2 ^ 32であることを覚えておくのは簡単です。その数の値を記憶するルールが必要な場合、便利な経験則は、一般に2進数と10進数の間の変換です。

2 ^ 10〜1000

つまり、2 ^ 20〜1,000,000

および2 ^ 30〜1,000,000,000

その2倍(2 ^ 31)は途方もなく20億であり、2倍(2 ^ 32)は40億です。

これは、任意の2進数の概算を取得する簡単な方法です。2進数で10個のゼロは10進数で3個のゼロになります。


7
2 ^ 32ではありません-(2 ^ 31)-1です
スティーブフォリー

6

Objective-C(iOSおよびOSX)では、次のマクロを覚えておいてください。

#define INT8_MAX         127
#define INT16_MAX        32767
#define INT32_MAX        2147483647
#define INT64_MAX        9223372036854775807LL

#define UINT8_MAX         255
#define UINT16_MAX        65535
#define UINT32_MAX        4294967295U
#define UINT64_MAX        18446744073709551615ULL

5

Int32は、数値を格納するために使用できる32ビットがあることを意味します。最上位ビットは符号ビットで、これは数値が正か負かを示します。したがって、正の数と負の数に2 ^ 31ビットがあります。

ゼロが正の数の場合、(前述の)の論理範囲を取得します

+2147483647から-2147483648

それが小さすぎると思われる場合は、Int64を使用します。

+9223372036854775807〜-9223372036854775808

そして、なぜあなたはこの数を覚えておきたいのですか?コードで使用するには?これらは静的な値(.netコア内)であり、コードで新しいintを作成するよりも高速であるため、コードでは常にInt32.MaxValueまたはInt32.MinValueを使用する必要があります。

私の声明:この数字を記憶で知っていれば…あなたはただ見せびらかしているだけです!


2
最近のコンピュータのほとんどは、数値を「2の補数」形式で格納しています。最高(最低ではない)ビットが符号です。2の補数を使用すると、CPUの自然なオーバーフロールールによって-veの数値が処理されます。つまり、0xFFは8ビット-1で、0x01(+1)に追加すると0x100になります。8を超えるビットを0x00に切り詰めると、答えが得られます。
トムレイ

5

これを覚えておいてください:21 IQアイテム47

任意の電話パッドでデコードすることも、紙に書き留めることもできます。

「21 IQ ITEM 47」を思い出すために、「ヒットマン:コードネーム47には21個のミッションがあり、それぞれがIQアイテムそのものでした」と書きます。

または、「私は毎日21:47に歯をきれいにします。なぜなら、私はIQが高く、口の中のアイテムが嫌いだからです」。


どういう意味de-encoded with any phone padですか?
mcExchange 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.