मुझे नंबर कभी याद नहीं रहता। मुझे स्मृति नियम की आवश्यकता है।
मुझे नंबर कभी याद नहीं रहता। मुझे स्मृति नियम की आवश्यकता है।
जवाबों:
यह 2,147,483,647 है। एक टैटू के माध्यम से इसे याद करने का सबसे आसान तरीका है।
Integer.MAX_VALUE
जावा में।
सबसे सही उत्तर मैं सोच सकता हूं Int32.MaxValue
।
यदि आपको लगता है कि आधार 10 में याद रखना बहुत मुश्किल है, तो आधार 2 का प्रयास करें: 1111111111111111111111111111111
11111111111111111111111111111111
बेस -2 नंबर के रूप में @ कार्ड अभी भी सकारात्मक होगा (बेस -2 में एक उदाहरण नकारात्मक होगा -1
) । बिट्स का वह क्रम केवल ऋणात्मक है यदि एक 32-बिट 2 के पूरक संख्या का प्रतिनिधित्व करते हैं :)
यदि आप पूरे पाई नंबर को याद रख सकते हैं, तो आप जिस नंबर की तलाश कर रहे हैं, वह 1,867,996,680 की स्थिति में है, जो पाई के दशमलव अंकों के 1,867,996,689 तक है।
संख्यात्मक स्ट्रिंग 2147483647 पाई के 1,867,996,680 दशमलव अंक पर दिखाई देती है। 3.14 ...... 86181221809936452346 2147483647 10527835665425671614 ...
स्रोत: http://www.subidiom.com/pi/
यह 10 अंकों का है, इसलिए यह दिखावा है कि यह एक फ़ोन नंबर है (आप यूएस में हैं)। 214-748-3647। मैं इसे कॉल करने की सलाह नहीं देता।
INT
बजाय स्टोर कर लेते हैं VARCHAR
।
इसे एक बड़ी संख्या के रूप में सोचने के बजाय, इसे तोड़ने की कोशिश करें और संबंधित विचारों की तलाश करें जैसे:
उपरोक्त सबसे बड़ी नकारात्मक संख्या पर लागू होता है; सकारात्मक यह है कि शून्य से एक है।
हो सकता है कि उपरोक्त टूटना आपके लिए अधिक यादगार नहीं होगा (यह शायद ही रोमांचक है!), लेकिन उम्मीद है कि आप कुछ विचारों के साथ आ सकते हैं!
2^(31!)
या (2^31)!
?
सबसे बड़ा नकारात्मक (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
वैसे भी, इस 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]
शायद यह आपको याद रखने में मदद करे।
2147483647
। यह ओपी के लिए बहुत मददगार होगा
मुझे याद है कि कैसे 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 (हस्ताक्षरित अधिकतम अधिकतम) 2 ^ 30 (लगभग 1 बिलियन) बार 2 ^ 1 (2), या लगभग 2 बिलियन है। और 2 ^ 32 2 ^ 30 * 2 ^ 2 या लगभग 4 बिलियन है। लगभग 2 ^ 64 (जहां त्रुटि लगभग 15% तक बढ़ जाती है) तक सन्निकटन की यह विधि काफी सटीक है।
यदि आपको एक सटीक उत्तर की आवश्यकता है तो आपको एक कैलकुलेटर खींचना चाहिए।
आसान शब्द-संरेखित क्षमता सन्निकटन:
बस किसी भी सभ्य कैलकुलेटर को लें और हेक्स मोड में "7FFFFFFF" टाइप करें, फिर दशमलव पर स्विच करें।
2147483647।
Int32.MaxValue
/numeric_limits<int32_t>::max()
इसके बारे में है 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
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
यहाँ 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 के रूप में अनुमान लगाना बहुत आसान है।
32 बिट्स, साइन के लिए एक, सूचना के 31 बिट्स:
2^31 - 1 = 2147483647
क्यों -1
क्योंकि पहला शून्य है, इसलिए सबसे बड़ा शून्य से एक गणना है ।
गिनती 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
खैर, चुटकुले से अलग, यदि आप वास्तव में एक उपयोगी स्मृति नियम की तलाश कर रहे हैं, तो एक है जो मैं हमेशा बड़ी संख्या को याद करने के लिए उपयोग करता हूं।
आपको अपना नंबर 3-4 अंकों से भागों में तोड़ने की जरूरत है और उन्हें अपने सेल फोन कीबोर्ड पर नेत्रहीन प्रक्षेपण का उपयोग करके याद रखें। चित्र पर दिखाना आसान है:
जैसा कि आप देख सकते हैं, अब से आपको सिर्फ 3 आकृतियों को याद रखना है, उनमें से 2 एक टेट्रिस एल की तरह दिखते हैं और एक टिक की तरह दिखता है । जो निश्चित रूप से 10-अंकीय संख्या को याद रखने से बहुत आसान है।
जब आपको संख्याओं को याद करने की जरूरत होती है तो केवल आकृतियों को याद करते हैं, कल्पना करते हैं / एक फोन कीबोर्ड को देखते हैं और उस पर आकृतियों को प्रोजेक्ट करते हैं। संभवत: शुरू में आपको कीबोर्ड देखना होगा लेकिन थोड़े अभ्यास के बाद, आपको याद होगा कि नंबर ऊपर-बाएं से नीचे-दाएं जा रहे हैं ताकि आप बस अपने दिमाग में इसकी कल्पना कर पाएंगे।
बस सुनिश्चित करें कि आप प्रत्येक दिशा में आकृतियों की दिशा और अंकों की संख्या को याद करते हैं (उदाहरण के लिए, 2147483647 उदाहरण में हमारे पास 4-अंकीय Tetris L और 3-अंकीय L है)।
आप किसी भी महत्वपूर्ण संख्या को आसानी से याद रखने के लिए इस तकनीक का उपयोग कर सकते हैं (उदाहरण के लिए, मुझे अपना 16 अंकों का क्रेडिट कार्ड नंबर आदि याद है)।
पूर्णांकों के लिए ऐसा करने का सबसे आसान तरीका हेक्साडेसिमल का उपयोग करना है, बशर्ते कि 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-बिट या अधिक का उपयोग करना शुरू करते हैं
पहले 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 अधिक के बारे में सोच सकते हैं ।
कुछ बार अभ्यास करें, और आप इसे लटका देंगे!
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>
, जो दृश्य स्टूडियो में टाइप करने के लिए केवल 6 अक्षर हैं।
अद्यतन किसी कारण के लिए मुझे नीचा दिखाया गया था। एकमात्र कारण जो मैं सोच सकता हूं, वह यह है कि वे मेरे पहले कथन को नहीं समझ पाए।
"Int32.MaxValue" टाइप करने के लिए अधिकतम 14 वर्ण लेता है। 2,147,486,647 या तो आप टाइप करते हैं या नहीं, इस पर निर्भर करता है कि आप अल्पविराम लगाते हैं या नहीं।
Iwannagohome
याद रखना आसान है 298347829
। हालांकि, -1 का कोई कारण नहीं।
!=
कीस्ट्रोक्स। इस .Net उपयोगकर्ता के लिए, यह in
+ .
+ ma
+ रिटर्न है।
बस याद रखें कि 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 बिलियन के लिए फिर से डबल। त्रुटि कारक जितना बड़ा हो जाता है उतना बड़ा हो जाता है, लेकिन आपको याद किए जाने वाले सटीक मान की आवश्यकता नहीं है (यदि आपको इसकी आवश्यकता है, तो आपको वैसे भी इसके लिए पूर्व-परिभाषित स्थिरांक का उपयोग करना चाहिए)। जब कुछ खतरनाक रूप से अतिप्रवाह के करीब हो सकता है, तो अनुमानित मूल्य काफी अच्छा है।
क्या मतलब? यह याद रखना आसान होना चाहिए कि यह 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 शून्य हो जाते हैं।
ऑब्जेक्टिव-सी (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
Int32 का मतलब है कि आपके पास अपना नंबर स्टोर करने के लिए 32 बिट्स उपलब्ध हैं। उच्चतम बिट साइन-बिट है, यह इंगित करता है कि संख्या सकारात्मक या नकारात्मक है। तो आपके पास सकारात्मक और नकारात्मक संख्याओं के लिए 2 ^ 31 बिट्स हैं।
शून्य एक सकारात्मक संख्या होने के साथ आपको तार्किक सीमा मिलती है (पहले उल्लेख किया गया है)
+2147483647 से -2147483648
यदि आपको लगता है कि छोटा है, तो Int64 का उपयोग करें:
+922337203685474780807 से -9223372036854775808
और आप इस नंबर को क्यों याद रखना चाहते हैं? अपने कोड में उपयोग करने के लिए? आपको हमेशा अपने कोड में Int32.MaxValue या Int32.MinValue का उपयोग करना चाहिए क्योंकि ये स्थिर मूल्य (.net कोर के भीतर) हैं और इस प्रकार कोड के साथ एक नया इंट बनाने की तुलना में तेजी से उपयोग होता है।
मेरा कथन: यदि स्मृति द्वारा इस संख्या को जानते हैं .. तो आप दिखावा कर रहे हैं!
इसे याद रखें: 21 आईक्यू आईटीईएम 47
यह किसी भी फोन पैड के साथ डी-एनकोड किया जा सकता है, या आप बस एक कागज पर खुद को लिख सकते हैं।
"21 IQ ITEM 47" को याद रखने के लिए, मैं "Hitman: Codename 47 में 21 मिशन थे, जो प्रत्येक IQ ITEM द्वारा स्वयं थे"।
या "मैं हर दिन 21:47 पर दांत साफ करता हूं, क्योंकि मेरे पास उच्च आईक्यू है और मेरे मुंह में आइटम पसंद नहीं हैं"।
de-encoded with any phone pad
?