इंट 32 के लिए अधिकतम मूल्य क्या है?


1380

मुझे नंबर कभी याद नहीं रहता। मुझे स्मृति नियम की आवश्यकता है।


48
अहस्ताक्षरित: 2 1-1 = 4 · 1024:-1; हस्ताक्षरित: -2 the .. + 2³¹-1, क्योंकि साइन-बिट उच्चतम बिट है। बस 2 combine = 1 से 2¹⁰ = 1024 सीखें और संयोजित करें। 1024 = 1k, 1024² = 1M, 1024 1 = 1G
कॉमोनैड

31
मुझे आमतौर पर याद है कि हर 3 बिट एक दशमलव अंक के बारे में है। यह मुझे परिमाण के सही क्रम में ले जाता है: 32 बिट्स 10 अंक हैं।
बरमार

8
@JoachimSauer यह निश्चित रूप से डिबगिंग में मदद कर सकता है यदि आप कम से कम इस प्रकार की संख्याओं को पहचानते हैं।
डुनरिल

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 या लगभग 1 बिलियन है। 32 बिट्स में से एक का उपयोग साइन के लिए किया जाता है, इसलिए अधिकतम मूल्य वास्तव में केवल 2 ^ 31 है, जो कि 2 ^ (3 * 10): 2 बिलियन के लिए आपको मिलने वाली राशि से लगभग दोगुना है।
16807

164
2147483647 बिना कॉमा के।
वर्न डी।

20
बस उपयोग करें: Integer.MAX_VALUEजावा में।
टिम

184
यदि आप अपने चेहरे पर टैटू प्राप्त करते हैं, तो इसे उल्टा करना न भूलें ताकि यह दर्पण में सही ढंग से पढ़े। अन्यथा आप 746,384,741,2 देखेंगे जो कि गलत है और शर्मनाक होगा।
लैरी एस

127
2,147,483,647 = 0x7FFFFFFF, यदि आप इसे याद रखना चाहते हैं, तो बस हेक्स का उपयोग करें।
रोज़ट्रेलर

493

सबसे सही उत्तर मैं सोच सकता हूं Int32.MaxValue


18
इससे पहले कि यह मौजूद था, मैंने अपने सभी प्रोजेक्ट्स में #define INT32_MIN और INT32_MAX का उपयोग किया।
WildJoe 19

45
@CamiloMartin हे। मैंने नाराजगी जताई। बस किसी और टैटू के लिए जगह नहीं थी। जाहिर है, iso-8859-1 चारसेट, और पाई से 31415
डेसीमल को

3
जब आप प्रोग्रामिंग कर रहे हैं: हाँ 99% मामलों में। लेकिन आप जानना चाह सकते हैं कि प्रोग्रामिंग दृष्टिकोण या डेटा के साथ काम करने के दौरान यह ~ 2 बिलियन जैसा कुछ है, हालांकि यह एक बहुत बड़ी संख्या है। :)
आंद्रे फिगयूरिडो

@sehe अब तक अप्रचलित नहीं है? यदि यह ASCII के 7 बाइट्स में फिट नहीं हो सकता है, तो मुझे नहीं लगता कि यह मुख्य-मेमोरी में एक जगह के योग्य है। मेरा मतलब है ... सभी UNICODE कोड-पेज थोड़े उपयोगी होते हैं, लेकिन त्वचा के एक हिस्से में एक जगह बर्बादी लगती है। (इसका उल्लेख नहीं करना अभी भी "पेजअप / पेजेडाउन" या "पेजहोम / पेजेंड" के लिए वर्णनात्मक ग्लिफ़ को शामिल नहीं करता है)

1
सही संख्या का उल्लेख करने के लिए अतिरिक्त रूप से यह संपत्ति एक अच्छी सलाह हो सकती है। हालाँकि, मुझे यह उत्तर पसंद नहीं है क्योंकि इसमें केवल मूल्य को पटरी से उतारने का एक अनुपयोगी तरीका बताया गया है और यह उल्लेख नहीं करता है कि इसके लिए कौन सी प्रोग्रामिंग भाषा काम करती है, या तो ...
mozzbozz

439

यदि आपको लगता है कि आधार 10 में याद रखना बहुत मुश्किल है, तो आधार 2 का प्रयास करें: 1111111111111111111111111111111


145
@ निक व्हेल: नहीं, 111111111111111111111111111111111 सकारात्मक है। 1111111111111111111111111111111111 नकारात्मक होगा :-)
दही

58
बेस 16 यह और भी आसान है 7FFFFFFF
नेल्सन गाल्डमैन ग्राज़ियानो

34
11111111111111111111111111111111बेस -2 नंबर के रूप में @ कार्ड अभी भी सकारात्मक होगा (बेस -2 में एक उदाहरण नकारात्मक होगा -1) । बिट्स का वह क्रम केवल ऋणात्मक है यदि एक 32-बिट 2 के पूरक संख्या का प्रतिनिधित्व करते हैं :)
ब्लूराजा - डैनी पफ्लुगुफ्ट

143
याद रखने के लिए सबसे आसान आधार 2,147,483,647 होगा। फिर आपको सभी को याद रखना होगा। 1.
big_tommy_7bb

82
@ tim_barber_7BB वास्तव में, यह 10. है
fscheidl

317

यदि आप पूरे पाई नंबर को याद रख सकते हैं, तो आप जिस नंबर की तलाश कर रहे हैं, वह 1,867,996,680 की स्थिति में है, जो पाई के दशमलव अंकों के 1,867,996,689 तक है।

संख्यात्मक स्ट्रिंग 2147483647 पाई के 1,867,996,680 दशमलव अंक पर दिखाई देती है। 3.14 ...... 86181221809936452346 2147483647 10527835665425671614 ...

स्रोत: http://www.subidiom.com/pi/


30
आप जानते हैं, जब मैंने आपका उत्तर पढ़ना शुरू किया था, तो मैं 20 वें अंक की तरह कुछ व्यावहारिक होने की उम्मीद कर रहा था।
JqueryToAddNumbers

95
यह बहुत अच्छा लगता है। क्या आपके पास 1,867,996,680 याद रखने के लिए एक और मेमोरी नियम है? मुझे यह याद रखना मुश्किल है कि किस सूचकांक को
देखना

10
" अगर आप पूरे पीआई नंबर को याद रख सकते हैं ... " - नहीं, तो आप नहीं कर सकते, यह तर्कहीन है {जैसा कि संभवतः इस प्रश्नोत्तर में एक या दो पोस्ट हैं 8-डी
स्लीवेन जुएन

10
@ वृद्ध मैं आमतौर पर इसे sqrt में 10 दशमलव (2) अंकों की संख्या 380,630,713 पर शुरू करता हूं ....
हेनरिक

2
@Alderath: सांख्यिक स्ट्रिंग 2. के वर्गमूल के 380,630,713rd दशमलव अंकों में १८६७९९६६८० प्रकट होता है
येर हेल्बरस्टाड

290

यह 10 अंकों का है, इसलिए यह दिखावा है कि यह एक फ़ोन नंबर है (आप यूएस में हैं)। 214-748-3647। मैं इसे कॉल करने की सलाह नहीं देता।


13
फोन नंबर के रूप में इसे याद रखने की बात करते हुए, ऐसा लगता है कि इसका इस्तेमाल करने वाले कुछ फ़ोन स्पैमर हो सकते हैं: mrnumber.com/1-214-748-3647
स्टीवन

8
"डलास में कोई" 748 "एक्सचेंज नहीं है। यह संख्या नकली है।" - shambleh से जुड़े पेज से
Tarnay Kálmán

104
@ मुझे लगता है कि वे स्पैमर्स नहीं हैं, बस लोग जो गलती से फोन नंबर को MySQL के INTबजाय स्टोर कर लेते हैं VARCHAR
जरेल

8
उसे बुलाने की कोशिश की। यह कुछ समय चला फिर त्रुटि डायल टोन पर गया। =
क्राइथिक

172

इसे एक बड़ी संख्या के रूप में सोचने के बजाय, इसे तोड़ने की कोशिश करें और संबंधित विचारों की तलाश करें जैसे:

  • 2 अधिकतम स्नूकर ब्रेक (अधिकतम ब्रेक 147 है)
  • 4 साल (48 महीने)
  • 3 साल (36 महीने)
  • 4 साल (48 महीने)

उपरोक्त सबसे बड़ी नकारात्मक संख्या पर लागू होता है; सकारात्मक यह है कि शून्य से एक है।

हो सकता है कि उपरोक्त टूटना आपके लिए अधिक यादगार नहीं होगा (यह शायद ही रोमांचक है!), लेकिन उम्मीद है कि आप कुछ विचारों के साथ आ सकते हैं!


99
यह सबसे जटिल न्यूमोनिक उपकरणों में से एक है जिसे मैंने देखा है। प्रभावशाली।
बेन हॉफस्टीन

9
हेह, डेरेन ब्राउन की पसंद वास्तव में इस तरह के दृष्टिकोण की वकालत करते हैं - एक संख्या को कुछ यादृच्छिक रूप से तोड़ना लेकिन व्हिह सिर्फ संख्याओं के भार से अधिक यादगार है: Channel4.com/entertain/tv/microsites/M/minditrol/remember/…
ल्यूक बेनेट

19
मेरे पास एक बेहतर महामारी है: आप सभी को याद रखना आवश्यक है 2 और 31, क्योंकि यह स्पष्ट रूप से ठीक 2 ^ 31 है! ओह, रुको ...
तमस Czinege

28
@DrJokepu मुझे ऑपरेटर पूर्वता के बारे में निश्चित नहीं है ... क्या इसका मतलब है 2^(31!)या (2^31)!?
अग्रनाथ

1
@ लुसियो ध्यान दें कि मेरा उत्तर पहली बार सबसे बड़ी नकारात्मक संख्या से संबंधित है जो 48 में समाप्त होती है, 47 में नहीं
ल्यूक बेनेट

144

सबसे बड़ा नकारात्मक (32 बिट) मान: -2147483648
(1 << 31)

सबसे बड़ा सकारात्मक (32 बिट) मान: 2147483647
~ (1 << 31)

Mnemonic: "नशे में एके सींग"

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
दुनिया सबसे कठिन Mnemonic को याद करने के लिए। यदि आप 0118 999 88199 9119 752 ... 3 याद कर सकते हैं, तो आप इसे याद कर सकते हैं।
बेनएम

11
@ मुझे लगता है कि यह अंत में 7253 है।
टिम टिसडल

21
नहीं। पीने की उम्र यहाँ 18 है ... लगता है जैसे मैं इस महामारी का उपयोग नहीं कर सकता, मेरा जीवन बर्बाद हो गया है।
जोफ्री

4
@ ऐरेन कॉर्डोवा वे कहते थे कि स्टैकओवरफ्लो कभी भी मजाकिया नहीं होगा, क्यू एंड ए साइट से ज्यादा कुछ नहीं हो सकता है, मैं आम तौर पर उन्हें इस जवाब की ओर इशारा करता हूं। यह बात केवल एक प्रतिभाशाली मन के अंदर बनाया जा सकता है, मेरा मतलब है इस है कला।
मोहम्मद अब्दुल मुजीब

5
सबसे बड़ा नकारात्मक 32 बिट पूर्णांक, या उस मामले के लिए 64 बिट, -1 है।
फ्रेड मिशेल

75

वैसे भी, इस regex को लें (यह निर्धारित करता है कि स्ट्रिंग में दशमलव में गैर-नकारात्मक पूर्णांक होता है जो कि 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-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। यह ओपी के लिए बहुत मददगार होगा
Sainƒошӽа

61

मुझे याद है कि कैसे 2147483647:

  • 214 - क्योंकि 2.14 लगभग पी -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 नियम पीआई होना चाहिए - 1. मुखौटा 64 के बजाय 68 दिखाता है। =) मेरे जैसे विमानन शौकीनों के लिए, 737 मूल्य को बोइंग के मध्यम आकार के विमान जेट के साथ जोड़कर याद रखना आसान होना चाहिए।

आप इससे भी आगे जा सकते हैं। दशमलव को गिराएँ और pi और 2 ^ 31-1 की तुलना करें। उसी स्थिति में आपको 141 ​​बनाम 147 मिलते हैं, इसलिए अंतिम अंक सिर्फ 7. बन जाता है। फिर 592 बनाम 483, सभी एक दूसरे से एक अंक दूर होते हैं। और 643 बनाम 647, यह एक 7 बात फिर से बन रहा है।
पीटर कूपर

@PeterCooper Altho को pi के लिए दशमलव 1415926_5_35 से शुरू होता है (नोट 5, 4 नहीं)
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 (हस्ताक्षरित अधिकतम अधिकतम) 2 ^ 30 (लगभग 1 बिलियन) बार 2 ^ 1 (2), या लगभग 2 बिलियन है। और 2 ^ 32 2 ^ 30 * 2 ^ 2 या लगभग 4 बिलियन है। लगभग 2 ^ 64 (जहां त्रुटि लगभग 15% तक बढ़ जाती है) तक सन्निकटन की यह विधि काफी सटीक है।

यदि आपको एक सटीक उत्तर की आवश्यकता है तो आपको एक कैलकुलेटर खींचना चाहिए।

आसान शब्द-संरेखित क्षमता सन्निकटन:

  • 2 ^ 16 ~ = 64 हजार // uint16
  • 2 ^ 32 ~ = 4 बिलियन // uint32, IPv4, unixtime
  • 2 ^ 64 ~ = 16 क्विंटल (उर्फ 16 बिलियन बिलियन या 16 मिलियन ट्रिलियन) // uint64, "बिगिन"
  • 2 ^ 128 ~ = 256 क्विंटल क्विंटल (उर्फ 256 ट्रिलियन ट्रिलियन खराद) // IPv6, GUID

76
ऐसा हार्ड-ड्राइव निर्माताओं ने कहा है।
स्कॉट स्टाफोर्ड

46

बस किसी भी सभ्य कैलकुलेटर को लें और हेक्स मोड में "7FFFFFFF" टाइप करें, फिर दशमलव पर स्विच करें।

2147483647।


150
कोई भी सभ्य कैलकुलेटर 2 ^ 31 भी कर सकता है।
क्रिस्टोफर

17
मुझे नहीं पता 2 ^ 31 इसे करने का लंबा तरीका लगता है: /
स्टेट्स

2
या बस इसे हेक्स में याद रखें
वर्नोन

4
बस ... इसे हेक्स में लिखें । या Int32.MaxValue/numeric_limits<int32_t>::max()
सेह

8
@Christoffer यह वास्तव में 2 ^ 31 - 1 :)
kupsef

36

इसके बारे में है 2.1 * 10^9। सटीक जानने की आवश्यकता नहीं है 2^{31} - 1 = 2,147,483,647

सी

आप इसे सी में इस तरह पा सकते हैं:

#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";

जावा

आप इसे जावा के साथ भी प्राप्त कर सकते हैं:

System.out.println(Integer.MAX_VALUE);

लेकिन ध्यान रखें कि जावा पूर्णांक हमेशा हस्ताक्षरित होते हैं।

अजगर २

पायथन में मनमाने ढंग से सटीक पूर्णांक हैं। लेकिन पायथन 2 में, उन्हें सी पूर्णांक में मैप किया जाता है। तो आप यह कर सकते हैं:

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

जब अजगर longपूर्णांक से बड़ा हो जाता है तो पायथन स्विच करता है2^31 -1


अजगर का उत्तर पुराना है देखें: stackoverflow.com/questions/13795758/…
NO

@ तो मैं लिंक की सराहना करता हूं, लेकिन मेरा पायथन जवाब "पायथन 2" के बारे में है (मैं इसे और अधिक स्पष्ट करने के लिए अनुभाग शीर्षक में 2 जोड़ता हूं)। इसलिए मेरा जवाब पुराना नहीं है। (लेकिन पायथन 2, माना जाता है,)
मार्टिन थोमा

35

यहाँ 2 ** 31 को याद रखने के लिए एक महामारी है, अधिकतम पूर्णांक मान प्राप्त करने के लिए एक को घटाएं।

एक = 1, बी = 2, सी = 3, घ = 4, ई = 5, च = 6, जी = 7, ज = 8, मैं = 9

Boys And Dogs Go Duck Hunting, Come Friday Ducks Hide
2    1   4    7  4    8        3    6      4     8

मैंने उन्हें याद करने के लिए अक्सर 18 तक दो की शक्तियों का उपयोग किया है, लेकिन यहां तक ​​कि मैंने 2 ** 31 को याद करने की भी जहमत नहीं उठाई है। जरूरत के अनुसार गणना करना या निरंतरता का उपयोग करना या 2G के रूप में अनुमान लगाना बहुत आसान है।


3
आप 2 ^ 10, 2 ^ 11, 2 ^ 12, या 2 ^ 17 (जिनमें से सभी में शून्य हैं) के लिए क्या करते हैं?
सुपरकैट

2
@supercat मैं या तो एक 0 को रिबास करूंगा, या ओ = 0 का उपयोग करूंगा।
मार्क रैनसम

यह कमाल का है। धन्यवाद, आप मेरी जान बचाते हैं।
चेंज जूल

31

32 बिट्स, साइन के लिए एक, सूचना के 31 बिट्स:

2^31 - 1 = 2147483647

क्यों -1
क्योंकि पहला शून्य है, इसलिए सबसे बड़ा शून्य से एक गणना है

कैंडाइटनमेने 8 के लिए EDIT

गिनती 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

@ cantfindaname88: 2 ^ 31 = कुल संयोजन, इसलिए यह 0 से लेकर (2 ^ 31 -1) तक है। हां पहला है 0.
लुसियानो

30

खैर, इसमें 32 बिट्स हैं और इसलिए 2 ^ 32 विभिन्न मूल्यों को संग्रहीत कर सकते हैं। उनमें से आधे नकारात्मक हैं।

समाधान 2,147,483,647 है

और सबसे कम the2,147,483,648 है।

(ध्यान दें कि एक और नकारात्मक मान है।)


इसमें 32 बिट्स हैं और इसलिए 2 ^ 32 मान स्टोर कर सकते हैं। कम नहीं।
जेबी

28

खैर, चुटकुले से अलग, यदि आप वास्तव में एक उपयोगी स्मृति नियम की तलाश कर रहे हैं, तो एक है जो मैं हमेशा बड़ी संख्या को याद करने के लिए उपयोग करता हूं।

आपको अपना नंबर 3-4 अंकों से भागों में तोड़ने की जरूरत है और उन्हें अपने सेल फोन कीबोर्ड पर नेत्रहीन प्रक्षेपण का उपयोग करके याद रखें। चित्र पर दिखाना आसान है:

यहां छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं, अब से आपको सिर्फ 3 आकृतियों को याद रखना है, उनमें से 2 एक टेट्रिस एल की तरह दिखते हैं और एक टिक की तरह दिखता है । जो निश्चित रूप से 10-अंकीय संख्या को याद रखने से बहुत आसान है।

जब आपको संख्याओं को याद करने की जरूरत होती है तो केवल आकृतियों को याद करते हैं, कल्पना करते हैं / एक फोन कीबोर्ड को देखते हैं और उस पर आकृतियों को प्रोजेक्ट करते हैं। संभवत: शुरू में आपको कीबोर्ड देखना होगा लेकिन थोड़े अभ्यास के बाद, आपको याद होगा कि नंबर ऊपर-बाएं से नीचे-दाएं जा रहे हैं ताकि आप बस अपने दिमाग में इसकी कल्पना कर पाएंगे।

बस सुनिश्चित करें कि आप प्रत्येक दिशा में आकृतियों की दिशा और अंकों की संख्या को याद करते हैं (उदाहरण के लिए, 2147483647 उदाहरण में हमारे पास 4-अंकीय Tetris L और 3-अंकीय L है)।

आप किसी भी महत्वपूर्ण संख्या को आसानी से याद रखने के लिए इस तकनीक का उपयोग कर सकते हैं (उदाहरण के लिए, मुझे अपना 16 अंकों का क्रेडिट कार्ड नंबर आदि याद है)।


नीच विचार! आकार 1 आपको 2147 देता है, आकृति 2 आपको 483 देता है, और आकृति 3 को 647 देना है, लेकिन जैसा कि खींचा गया है, इसकी व्याख्या 6 5 47 के रूप में की जा सकती है। मुझे कैसे पता चलेगा कि सभी पार किए गए नंबरों को कैसे शामिल किया जाए (जैसा कि आकार 1 में ) बनाम जब कुछ को छोड़ना है (आकार 3 में)? आपको यह भी याद रखना होगा कि आकृतियाँ क्रमशः 4, 3, और 3 अंकों को एन्कोड करती हैं। या आप एक सीधी रेखा के बजाय 6 से 4 तक चाप के साथ आकृति 3 आकर्षित कर सकते हैं।
jskroch

@Squinch खैर, विशेष रूप से int। याद रखने के लिए, यह एक समस्या नहीं होनी चाहिए क्योंकि आप जान सकते हैं कि यह लगभग 2 बिलियन है, इसलिए इसमें 10 नंबर हैं (और इसका मतलब है कि यदि पहली आकृति में 4 नंबर हैं तो दूसरा और तीसरा आकृतियाँ 3 तदनुसार हैं)। हालाँकि, यह एक अच्छा बिंदु है यदि आप किसी भी संख्या के लिए इस दृष्टिकोण का उपयोग करना चाहते हैं। इसके अलावा, ऐसी संख्याएँ हैं जो इस तरह से याद रखना मुश्किल है (यानी 1112 या कुछ और)। दूसरी ओर, ऐसी संख्या को वैसे भी याद रखना मुश्किल नहीं होना चाहिए। तो मैं कहूंगा कि यह आपके ऊपर है, मुझे बताएं कि क्या आप इसके लिए कुछ दिलचस्प लेकर आए हैं। :)
इवान युर्चेंको

हां, मैं अंकों के एक मनमाने अनुक्रम को याद करने के लिए इस पद्धति का उपयोग करने के बारे में सोच रहा था, लेकिन इस विशेष int.Max मूल्य के लिए, आपका तरीका काफी अच्छा है। जैसा कि आपने कहा, बार-बार अंक एक समस्या है। वास्तव में, किसी भी दोहराया अनुक्रम (जैसे 2323) एक समस्या है। कोई भी अनुक्रम जो खुद को पार करता है (जैसे 2058) को खींचना मुश्किल है। किसी भी याद करने की तकनीक से आपको जानकारी के कई टुकड़ों को याद रखने की आवश्यकता होती है। यह व्यक्तिगत प्राथमिकता है कि आपके सिर में किस प्रकार की जानकारी सबसे अच्छी है।
jskroch

1
यह है कि मुझे पिन कोड और समान याद है, लेकिन फिर अचानक आपको इसे अपने कंप्यूटर पर टाइप करना होगा और महसूस करना होगा कि सुन्नता लंबवत रूप से फ़्लिप है। तो यह एक चुनौती है।
निबेरियस

टेक्सास के डलास में किसी को कई अजीबोगरीब फोन कॉल आए हैं और इस बात का कोई अंदाजा नहीं है कि आप @ इवानयुरेंको को ही दोषी मानते हैं।
बॉब स्टेन

21

पूर्णांकों के लिए ऐसा करने का सबसे आसान तरीका हेक्साडेसिमल का उपयोग करना है, बशर्ते कि Int.maxInt () जैसा कुछ नहीं है। इसका कारण यह है:

अधिकतम अहस्ताक्षरित मान

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

यह कैसे काम करता है? यह द्विआधारी रणनीति के समान है, और प्रत्येक हेक्स अंक 4 बिट्स है। इसके अलावा, बहुत सारे कंपाइलर बाइनरी का समर्थन करने की तुलना में हेक्स का बहुत बेहतर समर्थन करते हैं।

F hex to binary: 1111
8 hex to binary: 1000
7 hex to binary: 0111
0 hex to binary: 0000

तो 7F 01111111 / 7FFF के बराबर है, 0111111111111111 के बराबर है। इसके अलावा, यदि आप "insanely-high constant" के लिए इसका उपयोग कर रहे हैं, तो 7F ... सुरक्षित हेक्स है, लेकिन यह 7F और 80 को आज़माने के लिए काफी आसान है और इन्हें प्रिंट करें आपकी स्क्रीन पर यह देखने के लिए कि यह कौन सा है।

0x7FFF + 0x0001 = 0x8000, इसलिए आपका नुकसान केवल एक संख्या है, इसलिए 0x7F का उपयोग करना ... आमतौर पर अधिक विश्वसनीय कोड के लिए एक बुरा ट्रेडऑफ़ नहीं है, खासकर जब आप 32-बिट या अधिक का उपयोग करना शुरू करते हैं


21

पहले 47 को दो बार लिखें, (आपको एजेंट 47 पसंद है , ठीक है?), रिक्त स्थान को दिखाए अनुसार (प्रत्येक डैश एक अंक के लिए एक स्लॉट है। पहले 2 स्लॉट, फिर 4)।

--47----47

सोचें कि आपके 12हाथ में है (क्योंकि 12 = एक दर्जन)। 4एजेंट 47 की संख्या के पहले अंक से इसे गुणा करें 47, और परिणाम को पहले से आपके पास पहले जोड़े के दाईं ओर रखें

12 * 4 = 48
--4748--47 <-- after placing 48 to the right of first 47

फिर गुणा 12से 3(क्रम एजेंट 47 के संख्या है, जो है की दूसरी अंकों बनाने के लिए 7, आप की जरूरत 7 - 4 = 3है और पहले 2 जोड़े की सही, पिछले जोड़ी-स्लॉट के लिए परिणाम डाल)

12 * 3 = 36
--47483647 <-- after placing 36 to the right of first two pairs

अंत में अपने हाथ से एक-एक करके अंकों को खींचें, जो सबसे दाहिने अंक (इस मामले में 2) से शुरू होता है और उन्हें आपके द्वारा प्राप्त पहले खाली स्लॉट में रखें

2-47483647 <-- after placing 2
2147483647 <-- after placing 1

ये लो! नकारात्मक सीमा के लिए, आप सकारात्मक सीमा की तुलना में निरपेक्ष मूल्य में 1 अधिक के बारे में सोच सकते हैं ।

कुछ बार अभ्यास करें, और आप इसे लटका देंगे!


"मुझे सकारात्मक सीमा से अधिक पूर्ण मूल्य में" मुझे मिला।
नवीन

20

2GB

(उत्तर के लिए न्यूनतम लंबाई है?)


18
कि GiB नहीं होना चाहिए?
ज्यूके वैन डेर मास

9
@JoukevanderMaas - वास्तव में, यह 4B होना चाहिए।
टेड हॉप

1
यही कारण है कि एक 32 बिट कंप्यूटर पर आपके पास रैम की सीमा 4GB है
सर्ज सगन

3
4GB का मान अहस्ताक्षरित पूर्णांक के साथ सही है। यदि आपके पास एक हस्ताक्षरित इंट है, तो आपको स्पष्ट रूप से अधिकतम मूल्य प्राप्त करने के लिए 2 से विभाजित करने की आवश्यकता है
स्विसकोडर

3
32-बिट में उपयोगकर्ता प्रक्रिया के लिए 2GB मेमोरी-स्पेस रिजर्व है, और कर्नेल के लिए 2GB है। इसे कॉन्फ़िगर किया जा सकता है इसलिए कर्नेल में केवल 1 जीबी आरक्षित है
रूण


15

यदि आप अपने ASCII टेबल को दिल से जानते हैं और नहीं MaxInt:
!GH6G = 21 47 48 36 47


जब मैंने यह उत्तर लिखा तो मुझे नहीं पता था कि GH6G में बहुत सारे Google हिट थे, और अब मैंने इसे स्वयं उपयोग किया है :-)
मार्क हर्ड

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>, जो दृश्य स्टूडियो में टाइप करने के लिए केवल 6 अक्षर हैं।

अद्यतन किसी कारण के लिए मुझे नीचा दिखाया गया था। एकमात्र कारण जो मैं सोच सकता हूं, वह यह है कि वे मेरे पहले कथन को नहीं समझ पाए।

"Int32.MaxValue" टाइप करने के लिए अधिकतम 14 वर्ण लेता है। 2,147,486,647 या तो आप टाइप करते हैं या नहीं, इस पर निर्भर करता है कि आप अल्पविराम लगाते हैं या नहीं।


2
लेकिन क्या मायने रखता है कि आपको कितने वर्ण टाइप करने हैं, लेकिन इसे कैसे याद रखना है। मुझे यकीन है कि Iwannagohomeयाद रखना आसान है 298347829। हालांकि, -1 का कोई कारण नहीं।
ग्लॉगल

3
यह उससे कम हो सकता है, बस अपना खुद का अधिकतम मूल्य स्निपेट बनाएं, "imv" <टैब> <टैब> शायद?
ब्रैडलीडॉटनेट

4
अक्षर !=कीस्ट्रोक्स। इस .Net उपयोगकर्ता के लिए, यह in+ .+ ma+ रिटर्न है।
माइकल - कहाँ का क्ले शिर्क

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 बिलियन प्राप्त करने के लिए। 32 बिट्स का उपयोग कर एक अहस्ताक्षरित इंट के लिए, 4 बिलियन के लिए फिर से डबल। त्रुटि कारक जितना बड़ा हो जाता है उतना बड़ा हो जाता है, लेकिन आपको याद किए जाने वाले सटीक मान की आवश्यकता नहीं है (यदि आपको इसकी आवश्यकता है, तो आपको वैसे भी इसके लिए पूर्व-परिभाषित स्थिरांक का उपयोग करना चाहिए)। जब कुछ खतरनाक रूप से अतिप्रवाह के करीब हो सकता है, तो अनुमानित मूल्य काफी अच्छा है।


10
Offtopic: 2 ^ 4 = 4 ^ 2, इसलिए घातांक सराहनीय है!
एडम लीस

10
@ पियर-ओलिवियर टिबॉल्ट नोप, मैं हर समय इसका इस्तेमाल करता हूं! अब मुझे यह पता लगाने की जरूरत है कि मेरे सारे गणित गलत क्यों आ रहे हैं। शायद कुछ गुणा त्रुटियों के साथ करने के लिए। वैसे भी, अलविदा!
डोरकनॉब

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 ~ 1000

जिसका अर्थ है 2 ^ 20 ~ 1,000,000

और 2 ^ 30 ~ 1,000,000,000

डबल (2 ^ 31) rounghly 2 बिलियन है, और फिर से दोगुना (2 ^ 32) 4 बिलियन है।

यह किसी भी बाइनरी नंबर का मोटा अनुमान लगाने का एक आसान तरीका है। बाइनरी में 10 शून्य दशमलव में 3 शून्य हो जाते हैं।


7
लेकिन यह 2 ^ 32 नहीं है - यह (2 ^ 31) -1
स्टीव फॉली

6

ऑब्जेक्टिव-सी (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 का उपयोग करें:

+922337203685474780807 से -9223372036854775808

और आप इस नंबर को क्यों याद रखना चाहते हैं? अपने कोड में उपयोग करने के लिए? आपको हमेशा अपने कोड में Int32.MaxValue या Int32.MinValue का उपयोग करना चाहिए क्योंकि ये स्थिर मूल्य (.net कोर के भीतर) हैं और इस प्रकार कोड के साथ एक नया इंट बनाने की तुलना में तेजी से उपयोग होता है।

मेरा कथन: यदि स्मृति द्वारा इस संख्या को जानते हैं .. तो आप दिखावा कर रहे हैं!


2
अधिकांश आधुनिक कंप्यूटर "ट्वोस तारीफ" प्रारूप में संख्याओं को संग्रहीत करते हैं। सबसे ऊँचा (सबसे निचला नहीं) बिट है। Twoseeeement के साथ साफ बात यह है कि -ve संख्याओं को सीपीयू के प्राकृतिक अतिप्रवाह नियमों द्वारा नियंत्रित किया जाता है। यानी 0xFF 8 बिट -1 है, इसे 0x01 (+1) में जोड़ें और आपको 0x100 मिलता है। 8 से 0x00 से ऊपर के टुकड़े काटें और आपके पास अपना उत्तर होगा।
टॉम लेन्स

5

इसे याद रखें: 21 आईक्यू आईटीईएम 47

यह किसी भी फोन पैड के साथ डी-एनकोड किया जा सकता है, या आप बस एक कागज पर खुद को लिख सकते हैं।

"21 IQ ITEM 47" को याद रखने के लिए, मैं "Hitman: Codename 47 में 21 मिशन थे, जो प्रत्येक IQ ITEM द्वारा स्वयं थे"।

या "मैं हर दिन 21:47 पर दांत साफ करता हूं, क्योंकि मेरे पास उच्च आईक्यू है और मेरे मुंह में आइटम पसंद नहीं हैं"।


आपका क्या मतलब है de-encoded with any phone pad?
mcExchange
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.