문제

내가 기억하지 않을 수 있습니다.야 메모리 규칙이 있습니다.

도움이 되었습니까?

해결책

그것은 2,147,483,647.가장 쉬운 방법은 그것을 기억하는가를 통해 귀.

다른 팁

가 올바른 답을 생각할 수 있는 Int32.MaxValue.

당신이 생각하는 경우 값이 너무 열심히 기억에 기초 10,시 2:1111111111111111111111111111111

는 경우에 당신을 기억할 수 있는 전체 파이 번호가 다음 번호 당신이 찾고있는 위치에 1,867,996,680 까 1,867,996,689 소수 자릿수의 Pi

숫자 문서 2,147,483,647 에 나타나 1,867,996,680 소수 자릿수의 Pi.3.14......86181221809936452346214748364710527835665425671614...

출처: http://www.subidiom.com/pi/

그것은 10 자리 숫자로,그래서 그것의 전화번호(고 가정하고 당신은 미국에서).214-748-3647.지 않을 호출하는 것이 좋습니다.

보다는 생각으로 하나의 큰 숫자도 그것을 파괴하고 관련 아이디어를 예를 들어:

  • 2 최고 스누커 break(최대 휴식 147)
  • 4 년(48 개월)
  • 3 년(36 개월)
  • 4 년(48 개월)

위의 적용에 가장 큰 부정적인 번호적인 마이너스 하나입니다.

어쩌면 위의 고장을 더 이상 없을 것입니다 당신을 위해 기억에 남는(그것은 거의 흥미로운 것은 이것!), 그러나 희망할 수 있는 몇 가지 아이디어를 제공합니다.

가장 큰 음성(32 비트)값:-2147483648
(1 << 31)

가장 큰 양(32 비트)값:서 2,147,483,647
~(1 << 31)

니모닉:"술에 취해 일명 horny"

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:

  • 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)

지금 당신이 있어서 2,147,483,647.

도움이 되기를 바랍어 비트입니다.

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(서명 int max)2^30(약 1 억원)배 2^1(2),또는 약 2 억원입니다.2^32 2^30*2^2 또는 약 4 억.이 방법의 근사치는 정확도 충분히 밖으로 약 2^64(는 오류 성장하는 약 15%).

필요할 경우 정확한 대답해야 합를 끌어 당기 계산기입니다.

편리한 단어 맞추는 능력 approximations:

  • 2^16~=64 천//uint16
  • 2^32~=4 억//uint32,IPv4,unixtime
  • 2^64~=16 농장(aka16 억 수십억 또는 16 만 조)//uint64,"bigint"
  • 2^128~=256 농장,농장(aka256 조 조)//IPv6,GUID

그냥 되는 건 어 계산기와 형식에서"7FFFFFFF"hex 모드로 전환하는 구분해서 사용하는 경우가 있습니다

2147483647.

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

당신이 얻을 수있는 Java,너무:

System.out.println(Integer.MAX_VALUE);

그러나 유지 하는 마음에 자바의 정수를 항상 서명했다.

Python2

파이썬은 임의의 정밀도 정수입니다.하지만에서는 Python2,그들은 매핑 C 의 정수입니다.그래서 당신은 작업을 수행 할 수 있습니다:

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

그래서 Python 스위치 long 면 정수 얻을 보다 더 큰 2^31 -1

여기에 대한 기억을 기억하는 2**31,빼을 얻을 수있는 최대의 정수 값을 사용할 수 있습니다.

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

내가 사용했던 힘의 두 개의 18 충분히 그들을 기억하지만,심지어 귀찮게 하지 않은 기억 2**31.그것은 너무 쉽게 계산하는 필요에 따라 사용 또는 일정한 또는 추정 2G.

32 비트를,하나에 대한 기호,31 의 비트 정보:

2^31 - 1 = 2147483647

왜 -1?
기 때문에 첫째로,그래서 가장 큰입니다 수 뺀.

편집 cantfindaname88

수은 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

만,그것은 32 비트이며 따라서 저장할 수 있습 2^32 다른 값입니다.의 절반은 사람들이 부정적이다.

이 솔루션은 2,147,483,647

최저가 -2,147,483,648.

(반비례 관계가 있는 것 하나 더 부정적인 값입니다.)

이 시점에서,내가 말하는 가장 쉬운 기억을 입력하는 것입니다."stackoverflow.com" TAB "최대 int32"으로 Chrome.

가 재귀-->stack overflow 농담에서 어딘가에 있을 것 이다.나는 그냥하지 않는 괴상하다.

론,고객께서는 농담,당신은 정말이 찾고 유용한 메모리 규칙이 있는 한 나는 항상 사용하여 기억하기 위한 큰 숫자입니다.

당신이 당신의 번호를 부분으로서 3-4 숫자로 기억하고 그들을 시각적으로 사용하여 프로젝션 휴대폰에 키보드입니다.의 표시에 그림:

enter image description here

당신이 볼 수 있듯이,지금부터 당신이 기억해야 3 양,2 들처럼 보이는 테트리스 L 고 하나처럼 보이는 눈금.는 것보다 훨씬 쉽게 기억 10 자리 숫자입니다.

필요할 때를 기억하는 번호를 기억양,상상/에 보이는 전화 키보드 및 프로젝트 모니다.아마 처음에 해야 합드 하지만 그 후에 그냥 조금의 연습,기억할 것이라는 숫자가에서 왼쪽 상단 오른쪽 아래 그래서 당신이 할 수있을 것이 단순히 상상에서 그것을 당신의 머리입니다.

그냥 당신이 기억하는 방향으로 모양의 자리의 숫자가 각각형(예를 들어,에서 2,147,483,647 를 들어 우리는 4 자리 테 L3-digit 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 비트입니다.또한,많은 컴파일러 지원 hex 보다 더 많은 지원 바이너리입니다.

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...안전 육지만,그것은 쉽게 충분히 시도 7F80 고 그냥 그들을 인쇄를 확인하려면 화면 하나입니다.

0x7FFF+0x0001=0x8000,그래서 당신의 손실은 단 하나의 번호,사용 0x7F...일반적으로 아닙니다 나쁜 거래에 대한 더 많은 신뢰할 수 있는 코드,특히 시작하면 사용하는 32 비트 이상

먼저 작성 47 두 번,(당신 에이전트 47,right?), 유지하는 공간으로 다음과 같(각 대시는 슬롯이 한 자리.첫번째 2 개의 슬롯,다음 4)

--47----47

가 생각할 12 손에 있기 때문에(12=십).하여 번식 4, 먼저 자리의 에이전트 47 의 숫자,즉 47, 고,그 결과를 오른쪽 첫번째 페어미

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

다음을 곱하기 12 by 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

가장 좋은 규칙은 그것을 기억하는가:
21 (마법수!)
47 (단지 그것을 기억)
48 (순차!)
36 (21+15,두 마법!)
47

또한 그는 쉽게 기억 5 쌍 10 자리 숫자가 있습니다.

가정.NET-

Console.WriteLine(Int32.MaxValue);

흥미롭게도,Int32.MaxValue 가상의 문자보다 2,147,486,647.

하지만 그런 다음,다시 우리에게 있는 코드를 완료

그래서 나는 모두 우리가 정말 기억하는 Int3<period>M<enter>, 는 6 개 문자를 입력 visual studio.

업데이트 을 닫힌 영역.유일한 이유는 나의 생각할 수 있는 것은 그들이 이해하지 못하는 내가 먼저 문을.

"Int32.MaxValue 은"대부분에서 14 문자를 입력합니다.2,147,486,647 소 10 13 일자 유형에 따라 넣은 경우에는 쉼표로 구분됩니다.

기억하는 가장 쉬운 방법은 보고서 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;
}

만 기억하는 2^(10*x)은 약 10^(3*x)-당신은 아마 이미 사용하는 이와 kb/kibibytes etc.는:

2^10 = 1024                ~= one thousand
2^20 = 1024^2 = 1048576    ~= one million
2^30 = 1024^3 = 1073741824 ~= one billion

이후 int 사용하여 31bits(+~1 비트에 대한 등록하십시오),그 두 번 2^30 을 얻을 수의 약 2 억원입니다.한 unsigned int 사용 32 비트를,두 번 다시 4billion.에 오류가 요소가 높을수록 더 큰 당신의 과정,그러나 당신이 필요하지 않 정확한 값이 기억(당신이 그것을 필요로 하는 경우에,당신이 사용해야에 미리 정의한 상수 위해 어쨌든 그것).대략적인 값은 좋은 충분히 주의를 위해 뭔가 될 수 있는 위험을 넘쳐나고 있습니다.

이 방법이다 나는 그것을 기억하 2,147,483,647

멀리 사바나 분기 optimus 트리오 닭으로 변한 마흔 septenary

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

당신은 무엇을 의미합니까?그것은 쉽게 해야 충분한 것을 기억 2^32.당신이 원하는 경우 원칙을 기억하는 값의 번호를 편리한 엄지손가락의 규칙은 변환하기위한 간에 바이너리고 소수점에서 일반적인:

2^10 ~ 1000

을 의미하는 2^20~1,000,000

2^30~1,000,000,000

두 배는(2^31)은 rounghly2billion,배는(2^32)4 억.

그것은 쉬운 방법은 대략적으로 모든 이진 번호입니다.10 규 바이너리된 3 세상을 지배 구분해서 사용하는 경우가 있습니다

물리학자 저는 그냥 라운드 2 억 (반 농담).기억하기 쉬운입니다!

Objective-C(iOS/os x)기억하고,이러한 매크로는:

#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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top