sin signo: 2³²-1 = 4 · 1024³-1; firmado: -2³¹ .. + 2³¹-1, porque el bit de signo es el bit más alto. Simplemente aprenda 2⁰ = 1 a 2¹⁰ = 1024 y combine. 1024 = 1k, 1024² = 1M, 1024³ = 1G
comonad el
31
Generalmente recuerdo que cada 3 bits es aproximadamente un dígito decimal. Esto me lleva al orden de magnitud correcto: 32 bits son 10 dígitos.
Barmar
8
@JoachimSauer ciertamente puede ayudar a depurar si aprende a reconocer al menos este tipo de números.
Dunaril
72
"si un disco se llena, se eliminarán todos los mbytes" (2 letras, 1 letra, 4 letras, 7 letras, 4 letras, 8 letras, 3 letras, 6 letras, 4 letras, 7 letras)
Mi mnemotécnico: 2 ^ 10 está muy cerca de 1000, por lo que 2 ^ (3 * 10) es 1000 ^ 3 o aproximadamente 1 billón. Uno de los 32 bits se usa para firmar, por lo que el valor máximo es realmente solo 2 ^ 31, que es aproximadamente el doble de la cantidad que obtienes por 2 ^ (3 * 10): 2 mil millones.
16807
164
2147483647 sin comas.
Vern D.
20
Simplemente use: Integer.MAX_VALUEen Java.
Tim
184
Si tienes el tatuaje en la cara, no olvides invertirlo para que se lea correctamente en el espejo. De lo contrario, verá 746,384,741,2 que está mal y sería vergonzoso.
Larry S
127
2,147,483,647 = 0x7FFFFFFF, si quieres recordarlo, solo usa hexadecimal.
roottraveller
493
La respuesta más correcta que se me ocurre es Int32.MaxValue.
Antes de que esto existiera, solía #definir INT32_MIN e INT32_MAX en todos mis proyectos.
WildJoe
45
@CamiloMartin Hola. Me molesta eso. Simplemente no había lugar para más tatuajes. Obviamente, el conjunto de caracteres iso-8859-1, y Pi a decimales 31415 tuvieron que tener prioridad
sehe
3
Cuando está programando: sí en el 99% de los casos. Pero es posible que desee saber que es algo así como ~ 2 mil millones para planificar enfoques de programación o cuando se trabaja con datos, aunque es un número muy grande. :)
Andre Figueiredo
@sehe ¿Ya no es obsoleto latin1 / Windows 1252? Si no puede caber en los 7 bytes de ASCII, no creo que merezca un lugar en la memoria principal. Quiero decir ... todas las páginas de códigos de UNICODE son un poco útiles, pero más de un espacio de skin parece un desperdicio. (Sin mencionar que todavía no incluye glifos descriptivos para "pageup / pagedown" o "pagehome / pageend")
1
Esta propiedad podría ser un buen consejo además de mencionar el número correcto. Sin embargo, no me gusta esta respuesta, ya que solo menciona una forma inportable de determinar el valor y tampoco menciona para qué lenguajes de programación funciona ...
mozzbozz
439
Si cree que el valor es demasiado difícil de recordar en la base 10, intente la base 2: 1111111111111111111111111111111
@Nick Whaley: No, 1111111111111111111111111111111 es positivo. 11111111111111111111111111111111 sería negativo :-)
Curd
58
Base 16 es aún más fácil 7FFFFFFF
Nelson Galdeman Graziano
34
@Curd 11111111111111111111111111111111como número de base 2 aún sería positivo (un ejemplo negativo en base-2 sería -1) . Esa secuencia de bits solo es negativa si representa un número de complemento de 2 de 32 bits :)
BlueRaja - Danny Pflughoeft
143
La más fácil de recordar será la base 2,147,483,647. Entonces todo lo que tienes que recordar es 1.
big_tommy_7bb
82
@ tim_barber_7BB en realidad, son las 10.
fscheidl
317
si puede recordar todo el número Pi, entonces el número que está buscando está en la posición 1,867,996,680 hasta 1,867,996,689 de los dígitos decimales de Pi
La cadena numérica 2147483647 aparece en el dígito decimal 1,867,996,680 de Pi. 3.14 ...... 86181221809936452346 2147483647 10527835665425671614 ...
Tengo una mejor mnemónica: todo lo que necesitas recordar son 2 y 31, ¡ya que aparentemente es exactamente 2 ^ 31! Oh, espera ...
Tamas Czinege
28
@DrJokepu No estoy seguro de la precedencia del operador ... ¿Eso significa 2^(31!)o (2^31)!?
Alderath
1
@Lucio Tenga en cuenta que mi respuesta se relaciona en primera instancia con el mayor número negativo que termina en 48, no en 47
Luke Bennett
144
Mayor valor negativo (32 bits): -2147483648
(1 << 31)
Mayor valor positivo (32 bits): 2147483647
~ (1 << 31)
Mnemónico: "borracho también conocido como cachondo"
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
Los mundos más difíciles de recordar Mnemonic. Si puede memorizar 0118 999 88199 9119 752 ... 3 puede memorizar esto.
BenM
11
@Rondles Creo que en realidad es 7253 al final.
Tim Tisdall
21
No La edad para beber es 18 años ... Parece que no puedo usar esta mnemónica, mi vida está arruinada.
Joffrey
44
@Aaren Cordova Solían decir que stackoverflow nunca será divertido, no será más que un sitio de Preguntas y Respuestas, generalmente les indico esta respuesta. Esto solo se puede crear dentro de una mente genio, quiero decir, esto es arte.
Mohd Abdul Mujib
55
El mayor entero negativo de 32 bits, o 64 bits, es -1.
Fred Mitchell
75
De todos modos, tome esta expresión regular (determina si la cadena contiene un entero no negativo en forma decimal que tampoco es mayor que Int32.MaxValue)
¡Buena esa! Creo que la regla 214 debería ser pi - 1. También la máscara muestra 68 en lugar de 64. =) Para los aficionados a la aviación como yo, el valor 737 debería ser fácil de recordar al asociarlo con el avión de línea mediana de Boeing.
Puedes ir más allá que eso. Suelta el decimal y compara pi y 2 ^ 31-1. En las mismas posiciones obtienes 141 vs 147, por lo que el último dígito se convierte en 7. Luego 592 vs 483, todos están separados por un dígito. Y 643 vs 647, es que convertirse en una cosa 7 nuevamente.
Peter Cooper
@PeterCooper Altho los decimales para pi comienzan con 1415926_5_35 (Tenga en cuenta el 5, no un 4)
Moberg
15
Mi mnemotécnico es tomar 4294967296 (que es fácil de recordar) y dividir por 2
Entonces, 2 ^ 31 (con int int max) es 2 ^ 30 (aproximadamente 1 billón) por 2 ^ 1 (2), o aproximadamente 2 billones. Y 2 ^ 32 es 2 ^ 30 * 2 ^ 2 o aproximadamente 4 mil millones. Este método de aproximación es lo suficientemente preciso incluso alrededor de 2 ^ 64 (donde el error crece hasta aproximadamente el 15%).
Si necesita una respuesta exacta, debe extraer una calculadora.
Prácticas aproximaciones de capacidad alineadas con palabras:
2 ^ 16 ~ = 64 mil // uint16
2 ^ 32 ~ = 4 mil millones // uint32, IPv4, unixtime
2 ^ 64 ~ = 16 quintillones (también conocidos como 16 billones de billones o 16 millones de billones) // uint64, "bigint"
2 ^ 128 ~ = 256 quintillion quintillion (también conocido como 256 billones de billones de billones) // IPv6, GUID
@NOhs Aprecio el enlace, pero mi respuesta de Python es sobre "Python 2" (agrego el 2 al título de la sección para que quede más claro). Entonces mi respuesta no está desactualizada. (Pero Python 2, ciertamente, lo es)
Martin Thoma
35
Aquí hay un mnemotécnico para recordar 2 ** 31, resta uno para obtener el valor entero máximo.
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
He usado los poderes de dos hasta 18 con la suficiente frecuencia como para recordarlos, pero ni siquiera me he molestado en memorizar 2 ** 31. Es demasiado fácil calcular según sea necesario o usar una constante, o estimar como 2G.
Tiene 32 bits y, por lo tanto, puede almacenar 2 ^ 32 valores. No menos.
JB.
28
Bueno, aparte de los chistes, si realmente estás buscando una regla de memoria útil, siempre hay una que uso para recordar números grandes.
Debe dividir su número en partes de 3 a 4 dígitos y recordarlas visualmente usando la proyección en el teclado de su teléfono celular. Es más fácil mostrar en una imagen:
Como puede ver, a partir de ahora solo tiene que recordar 3 formas, 2 de ellas parecen un Tetris L y una parece una marca . Lo que definitivamente es mucho más fácil que memorizar un número de 10 dígitos.
Cuando necesite recuperar el número, solo recuerde las formas, imagine / mire en el teclado de un teléfono y proyecte las formas en él. Quizás inicialmente tenga que mirar el teclado, pero después de un poco de práctica, recordará que los números van de arriba a la izquierda a abajo a la derecha, por lo que simplemente podrá imaginarlo en su cabeza.
Solo asegúrese de recordar la dirección de las formas y el número de dígitos en cada forma (por ejemplo, en el ejemplo 2147483647 tenemos un Tetris L de 4 dígitos y un L de 3 dígitos).
Puede usar esta técnica para recordar fácilmente cualquier número importante (por ejemplo, recordé mi número de tarjeta de crédito de 16 dígitos, etc.).
¡Buena idea! La forma 1 le da 2147, la forma 2 le da 483, y se supone que la forma 3 le da 647, pero como se dibuja, podría interpretarse como 6 5 47. ¿Cómo sé cuándo incluir todos los números cruzados (como en la forma 1 ) frente a cuándo omitir algunos (como en la Forma 3)? También debe memorizar que las formas codifican 4, 3 y 3 dígitos, respectivamente. O puede dibujar la Forma 3 con un arco de 6 a 4 en lugar de una línea recta.
jskroch
@Squinch Bueno, particularmente para recordar int.Max no debería ser un problema, ya que es posible que sepas que son alrededor de 2 mil millones, por lo que tiene 10 números (y eso significa que si la primera forma tiene 4 números, la segunda y la tercera las formas tienen 3 en consecuencia). Sin embargo, ese es un buen punto si desea utilizar este enfoque para cualquier número. Además, hay números que son difíciles de recordar de esta manera (es decir, 1112 o algo así). Por otro lado, no debería ser difícil recordar ese número de todos modos. Entonces diría que depende de usted, avíseme si se le ocurre algo interesante para esto. :)
Ivan Yurchenko
Sí, estaba pensando en usar este método para recuperar una secuencia arbitraria de dígitos, pero para este valor int.Max particular, su método funciona bastante bien. Como dijiste, los dígitos repetidos son un problema. De hecho, cualquier secuencia repetida (como 2323) es un problema. Cualquier secuencia que se cruce (como 2058) es difícil de dibujar. Cualquier técnica de memorización requiere que recuerdes varios datos. Es preferencia personal qué tipos de información se te quedan mejor en la cabeza.
jskroch
1
Así es como recuerdo los códigos PIN y similares, pero de repente necesitas escribirlo en tu computadora y darte cuenta de que el teclado numérico está invertido verticalmente. Eso es un poco un desafío.
nibarius
Alguien en Dallas, Texas , ha recibido muchas llamadas telefónicas extrañas y no tiene idea de que usted @IvanYurchenko tiene la culpa.
Bob Stein
21
La forma más fácil de hacer esto para los enteros es usar hexadecimal, siempre que no haya algo como Int.maxInt (). La razón es esta:
¿Como funciona esto? Esto es muy similar a la táctica binaria, y cada dígito hexadecimal tiene exactamente 4 bits. Además, muchos compiladores admiten hexadecimal mucho mejor de lo que admiten binarios.
F hex to binary: 1111
8 hex to binary: 1000
7 hex to binary: 0111
0 hex to binary: 0000
Entonces 7F es igual a 01111111 / 7FFF es igual a 0111111111111111. Además, si está usando esto para "constante increíblemente alta", 7F ... es un hexadecimal seguro, pero es bastante fácil probar 7F y 80 e imprimirlos. a tu pantalla para ver cuál es.
0x7FFF + 0x0001 = 0x8000, por lo que su pérdida es solo un número, por lo que usar 0x7F ... generalmente no es una mala compensación para un código más confiable, especialmente una vez que comience a usar 32 bits o más
Primero escriba 47 dos veces, (le gusta el Agente 47 , ¿verdad?), Manteniendo los espacios como se muestra (cada guión es un espacio para un solo dígito. Primero 2 espacios, luego 4)
--47----47
Piensa que tienes 12en la mano (porque 12 = una docena). Multiplique por el 4primer dígito del número del Agente 47, es decir 47, y coloque el resultado a la derecha del primer par que ya tiene
12 * 4 = 48
--4748--47 <-- after placing 48 to the right of first 47
Luego multiplique 12por 3(para hacer el segundo dígito del número del Agente 47, que es 7, usted necesita 7 - 4 = 3) y coloque el resultado a la derecha de los primeros 2 pares, el último par de ranuras
12 * 3 = 36
--47483647 <-- after placing 36 to the right of first two pairs
Finalmente arrastre los dígitos uno por uno desde su mano comenzando desde el dígito más a la derecha (2 en este caso) y colóquelos en el primer espacio vacío que obtenga
2-47483647 <-- after placing 2
2147483647 <-- after placing 1
¡Ahí tienes! Para el límite negativo, puede pensar en eso como 1 más en valor absoluto que el límite positivo.
Es por eso que el límite de RAM que puede tener en una computadora de 32 bits es de 4 GB
Serj Sagan
3
El valor de 4 GB es correcto con enteros sin signo. si tiene un int firmado, obviamente necesita dividir por 2 para obtener el valor máximo posible
SwissCoder
3
En 32 bits hay 2 GB de reserva de espacio de memoria para el proceso del usuario y 2 GB para el núcleo. Se puede configurar para que el kernel tenga solo 1 GB reservado
// 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;
}
Curiosamente, Int32.MaxValue tiene más caracteres que 2,147,486,647.
Pero, de nuevo, tenemos la finalización del código,
Así que supongo que todo lo que realmente tenemos que memorizar es Int3<period>M<enter>, que son solo 6 caracteres para escribir en Visual Studio.
ACTUALIZACIÓN
Por alguna razón fui rechazado. La única razón por la que puedo pensar es que no entendieron mi primera declaración.
"Int32.MaxValue" toma como máximo 14 caracteres para escribir. 2.147.486.647 toma 10 o 13 caracteres para escribir dependiendo de si pone las comas o no.
Pero lo que cuenta no es cuántos caracteres tiene que escribir, sino cómo memorizarlos. Estoy seguro de que Iwannagohomees más fácil de memorizar que 298347829. Sin embargo, no hay razón para un -1.
glglgl
3
Podría ser menor que eso, simplemente haga su propio fragmento de valor máximo, "imv" <tab> <tab> ¿tal vez?
BradleyDotNET
44
Personajes !=pulsaciones de teclas. Para este pobre usuario de .Net, es in+. + ma+ Retorno.
Michael - ¿Dónde está Clay Shirky?
11
Solo recuerde que 2 ^ (10 * x) es aproximadamente 10 ^ (3 * x): probablemente ya esté acostumbrado a esto con kilobytes / kibibytes, etc. Eso es:
2^10 = 1024 ~= one thousand
2^20 = 1024^2 = 1048576 ~= one million
2^30 = 1024^3 = 1073741824 ~= one billion
Como un int usa 31 bits (+ ~ 1 bit para el signo), solo duplica 2 ^ 30 para obtener aproximadamente 2 mil millones. Para un int sin firmar con 32 bits, doble nuevamente por 4 mil millones. El factor de error aumenta cuanto más grande va, por supuesto, pero no necesita memorizar el valor exacto (si lo necesita, debería estar utilizando una constante predefinida para ello de todos modos). El valor aproximado es lo suficientemente bueno como para notar cuándo algo podría estar peligrosamente cerca de desbordarse.
Offtopic: 2 ^ 4 = 4 ^ 2, por lo tanto, ¡la exponenciación es conmutativa!
Adam Liss el
10
@ Pier-OlivierThibault no, lo uso todo el tiempo! ahora necesito averiguar por qué todas mis matemáticas están saliendo mal. probablemente algo que ver con errores de multiplicación. de todos modos, adiós!
tckmn
9
así es como lo hago para recordar 2,147,483,647
A un cuarto de la sabana lejana, Optimus Trio hechizó cuarenta septenarios
2 - To
1 - A
4 - Far
7 - Savannah
4 - Quarter
8 - Optimus
3 - Trio
6 - Hexed
4 - Forty
7 - Septenary
¿Qué quieres decir? Debería ser bastante fácil recordar que es 2 ^ 32. Si desea que una regla memorice el valor de ese número, una práctica regla práctica es convertir entre binario y decimal en general:
2 ^ 10 ~ 1000
lo que significa 2 ^ 20 ~ 1,000,000
y 2 ^ 30 ~ 1,000,000,000
Duplicar eso (2 ^ 31) es aproximadamente 2 mil millones, y duplicar eso nuevamente (2 ^ 32) es 4 mil millones.
Es una manera fácil de obtener una estimación aproximada de cualquier número binario. 10 ceros en binario se convierten en 3 ceros en decimal.
Int32 significa que tiene 32 bits disponibles para almacenar su número. El bit más alto es el bit de signo, esto indica si el número es positivo o negativo. Entonces tienes 2 ^ 31 bits para números positivos y negativos.
Con cero siendo un número positivo, obtienes el rango lógico de (mencionado anteriormente)
+2147483647 a -2147483648
Si crees que es demasiado pequeño, usa Int64:
+9223372036854775807 a -9223372036854775808
¿Y por qué demonios quieres recordar este número? Para usar en su código? Siempre debe usar Int32.MaxValue o Int32.MinValue en su código ya que estos son valores estáticos (dentro del núcleo .net) y, por lo tanto, su uso es más rápido que la creación de un nuevo int con código.
Mi afirmación: si conoces este número de memoria ... ¡solo estás presumiendo!
La mayoría de las computadoras modernas almacenan números en formato de "dos cumplidos". El bit más alto (no más bajo) es el signo. Lo bueno de la competencia de dos es que cinco números son manejados por las reglas naturales de desbordamiento de la CPU. es decir, 0xFF es 8 bit -1, agregue eso a 0x01 (+1) y obtendrá 0x100. Trunca bits por encima de 8 a 0x00 y tienes tu respuesta.
Tom Leys
5
Recuerda esto: 21 IQ ITEM 47
Se puede descodificar con cualquier teclado telefónico, o simplemente puede escribir uno usted mismo en un papel.
Para recordar "21 IQ ITEM 47", iría con "Hitman: Codename 47 tenía 21 misiones, que eran cada IQ ITEM por sí mismas".
O "me lavo los dientes a las 21:47 todos los días, porque tengo un coeficiente intelectual alto y no me gustan los artículos en la boca".
Respuestas:
Son 2,147,483,647. La forma más fácil de memorizarlo es a través de un tatuaje.
fuente
Integer.MAX_VALUE
en Java.La respuesta más correcta que se me ocurre es
Int32.MaxValue
.fuente
Si cree que el valor es demasiado difícil de recordar en la base 10, intente la base 2: 1111111111111111111111111111111
fuente
11111111111111111111111111111111
como número de base 2 aún sería positivo (un ejemplo negativo en base-2 sería-1
) . Esa secuencia de bits solo es negativa si representa un número de complemento de 2 de 32 bits :)si puede recordar todo el número Pi, entonces el número que está buscando está en la posición 1,867,996,680 hasta 1,867,996,689 de los dígitos decimales de Pi
fuente: http://www.subidiom.com/pi/
fuente
Son 10 dígitos, así que imagina que es un número de teléfono (suponiendo que estés en los EE. UU.). 214-748-3647. No recomiendo llamarlo.
fuente
INT
lugar deVARCHAR
en MySQL.En lugar de pensarlo como un gran número, intente desglosarlo y buscar ideas asociadas, por ejemplo:
Lo anterior se aplica al mayor número negativo; positivo es eso menos uno.
Tal vez el desglose anterior no sea más memorable para usted (¡no es emocionante!), ¡Pero espero que pueda tener algunas ideas que sí lo sean!
fuente
2^(31!)
o(2^31)!
?Mayor valor negativo (32 bits): -2147483648
(1 << 31)
Mayor valor positivo (32 bits): 2147483647
~ (1 << 31)
Mnemónico: "borracho también conocido como cachondo"
fuente
De todos modos, tome esta expresión regular (determina si la cadena contiene un entero no negativo en forma decimal que tampoco es mayor que 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]
Tal vez te ayudaría a recordar.
fuente
2147483647
. Esto sería de gran ayuda para la OPAsí recordaba
2147483647
:Escribe estos horizontalmente:
Ahora tienes 2147483647.
Espero que esto ayude al menos un poco.
fuente
Entonces, 2 ^ 31 (con int int max) es 2 ^ 30 (aproximadamente 1 billón) por 2 ^ 1 (2), o aproximadamente 2 billones. Y 2 ^ 32 es 2 ^ 30 * 2 ^ 2 o aproximadamente 4 mil millones. Este método de aproximación es lo suficientemente preciso incluso alrededor de 2 ^ 64 (donde el error crece hasta aproximadamente el 15%).
Si necesita una respuesta exacta, debe extraer una calculadora.
Prácticas aproximaciones de capacidad alineadas con palabras:
fuente
Simplemente tome cualquier calculadora decente y escriba "7FFFFFFF" en modo hexadecimal, luego cambie a decimal.
2147483647.
fuente
Int32.MaxValue
/numeric_limits<int32_t>::max()
Se trata
2.1 * 10^9
. No es necesario saber exactamente2^{31} - 1 = 2,147,483,647
.C
Puedes encontrarlo en C así:
da (bueno, sin el
,
)C ++ 11
Java
También puede obtener esto con Java:
Pero tenga en cuenta que los enteros Java siempre están firmados.
Python 2
Python tiene enteros de precisión arbitrarios. Pero en Python 2, se asignan a enteros en C. Entonces puedes hacer esto:
Entonces Python cambia a
long
cuando el número entero se hace más grande que2^31 -1
fuente
Aquí hay un mnemotécnico para recordar 2 ** 31, resta uno para obtener el valor entero máximo.
a = 1, b = 2, c = 3, d = 4, e = 5, f = 6, g = 7, h = 8, i = 9
He usado los poderes de dos hasta 18 con la suficiente frecuencia como para recordarlos, pero ni siquiera me he molestado en memorizar 2 ** 31. Es demasiado fácil calcular según sea necesario o usar una constante, o estimar como 2G.
fuente
32 bits, uno para el signo, 31 bits de información:
¿Por qué -1?
Como el primero es cero, el mayor es el recuento menos uno .
EDITAR para cantfindaname88
El recuento es 2 ^ 31 pero el mayor no puede ser 2147483648 (2 ^ 31) porque contamos desde 0, no desde 1.
Otra explicación con solo 3 bits: 1 para el signo, 2 para la información
Debajo de todos los valores posibles con 3 bits: (2 ^ 3 = 8 valores)
fuente
Bueno, tiene 32 bits y, por lo tanto, puede almacenar 2 ^ 32 valores diferentes. La mitad de esos son negativos.
La solución es 2,147,483,647
Y el más bajo es −2,147,483,648.
(Observe que hay un valor negativo más).
fuente
Bueno, aparte de los chistes, si realmente estás buscando una regla de memoria útil, siempre hay una que uso para recordar números grandes.
Debe dividir su número en partes de 3 a 4 dígitos y recordarlas visualmente usando la proyección en el teclado de su teléfono celular. Es más fácil mostrar en una imagen:
Como puede ver, a partir de ahora solo tiene que recordar 3 formas, 2 de ellas parecen un Tetris L y una parece una marca . Lo que definitivamente es mucho más fácil que memorizar un número de 10 dígitos.
Cuando necesite recuperar el número, solo recuerde las formas, imagine / mire en el teclado de un teléfono y proyecte las formas en él. Quizás inicialmente tenga que mirar el teclado, pero después de un poco de práctica, recordará que los números van de arriba a la izquierda a abajo a la derecha, por lo que simplemente podrá imaginarlo en su cabeza.
Solo asegúrese de recordar la dirección de las formas y el número de dígitos en cada forma (por ejemplo, en el ejemplo 2147483647 tenemos un Tetris L de 4 dígitos y un L de 3 dígitos).
Puede usar esta técnica para recordar fácilmente cualquier número importante (por ejemplo, recordé mi número de tarjeta de crédito de 16 dígitos, etc.).
fuente
La forma más fácil de hacer esto para los enteros es usar hexadecimal, siempre que no haya algo como Int.maxInt (). La razón es esta:
Max valores sin signo
Valores firmados, utilizando 7F como el valor máximo firmado
Valores firmados, utilizando 80 como el valor máximo firmado
¿Como funciona esto? Esto es muy similar a la táctica binaria, y cada dígito hexadecimal tiene exactamente 4 bits. Además, muchos compiladores admiten hexadecimal mucho mejor de lo que admiten binarios.
Entonces 7F es igual a 01111111 / 7FFF es igual a 0111111111111111. Además, si está usando esto para "constante increíblemente alta", 7F ... es un hexadecimal seguro, pero es bastante fácil probar 7F y 80 e imprimirlos. a tu pantalla para ver cuál es.
0x7FFF + 0x0001 = 0x8000, por lo que su pérdida es solo un número, por lo que usar 0x7F ... generalmente no es una mala compensación para un código más confiable, especialmente una vez que comience a usar 32 bits o más
fuente
Primero escriba 47 dos veces, (le gusta el Agente 47 , ¿verdad?), Manteniendo los espacios como se muestra (cada guión es un espacio para un solo dígito. Primero 2 espacios, luego 4)
Piensa que tienes
12
en la mano (porque 12 = una docena). Multiplique por el4
primer dígito del número del Agente 47, es decir47
, y coloque el resultado a la derecha del primer par que ya tieneLuego multiplique
12
por3
(para hacer el segundo dígito del número del Agente 47, que es7
, usted necesita7 - 4 = 3
) y coloque el resultado a la derecha de los primeros 2 pares, el último par de ranurasFinalmente arrastre los dígitos uno por uno desde su mano comenzando desde el dígito más a la derecha (2 en este caso) y colóquelos en el primer espacio vacío que obtenga
¡Ahí tienes! Para el límite negativo, puede pensar en eso como 1 más en valor absoluto que el límite positivo.
Practica algunas veces, ¡y te acostumbrarás!
fuente
2GB
(¿Hay una longitud mínima para las respuestas?)
fuente
Suponiendo .NET -
fuente
Si sabe de memoria su tabla ASCII y no
MaxInt
:!GH6G = 21 47 48 36 47
fuente
La mejor regla para memorizarlo es:
21 (¡número mágico!)
47 (¡solo recuérdalo !
48 (secuencial!)
36 (21 + 15, ¡ambas magias!)
47 nuevamente
También es más fácil recordar 5 pares que 10 dígitos.
fuente
La forma más fácil de recordar es mirar
std::numeric_limits< int >::max()
Por ejemplo ( de MSDN ),
fuente
Curiosamente, Int32.MaxValue tiene más caracteres que 2,147,486,647.
Pero, de nuevo, tenemos la finalización del código,
Así que supongo que todo lo que realmente tenemos que memorizar es
Int3<period>M<enter>
, que son solo 6 caracteres para escribir en Visual Studio.ACTUALIZACIÓN Por alguna razón fui rechazado. La única razón por la que puedo pensar es que no entendieron mi primera declaración.
"Int32.MaxValue" toma como máximo 14 caracteres para escribir. 2.147.486.647 toma 10 o 13 caracteres para escribir dependiendo de si pone las comas o no.
fuente
Iwannagohome
es más fácil de memorizar que298347829
. Sin embargo, no hay razón para un -1.!=
pulsaciones de teclas. Para este pobre usuario de .Net, esin
+.
+ma
+ Retorno.Solo recuerde que 2 ^ (10 * x) es aproximadamente 10 ^ (3 * x): probablemente ya esté acostumbrado a esto con kilobytes / kibibytes, etc. Eso es:
Como un int usa 31 bits (+ ~ 1 bit para el signo), solo duplica 2 ^ 30 para obtener aproximadamente 2 mil millones. Para un int sin firmar con 32 bits, doble nuevamente por 4 mil millones. El factor de error aumenta cuanto más grande va, por supuesto, pero no necesita memorizar el valor exacto (si lo necesita, debería estar utilizando una constante predefinida para ello de todos modos). El valor aproximado es lo suficientemente bueno como para notar cuándo algo podría estar peligrosamente cerca de desbordarse.
fuente
así es como lo hago para recordar 2,147,483,647
A un cuarto de la sabana lejana, Optimus Trio hechizó cuarenta septenarios
fuente
¿Qué quieres decir? Debería ser bastante fácil recordar que es 2 ^ 32. Si desea que una regla memorice el valor de ese número, una práctica regla práctica es convertir entre binario y decimal en general:
2 ^ 10 ~ 1000
lo que significa 2 ^ 20 ~ 1,000,000
y 2 ^ 30 ~ 1,000,000,000
Duplicar eso (2 ^ 31) es aproximadamente 2 mil millones, y duplicar eso nuevamente (2 ^ 32) es 4 mil millones.
Es una manera fácil de obtener una estimación aproximada de cualquier número binario. 10 ceros en binario se convierten en 3 ceros en decimal.
fuente
En Objective-C (iOS y OSX), solo recuerde estas macros:
fuente
Int32 significa que tiene 32 bits disponibles para almacenar su número. El bit más alto es el bit de signo, esto indica si el número es positivo o negativo. Entonces tienes 2 ^ 31 bits para números positivos y negativos.
Con cero siendo un número positivo, obtienes el rango lógico de (mencionado anteriormente)
+2147483647 a -2147483648
Si crees que es demasiado pequeño, usa Int64:
+9223372036854775807 a -9223372036854775808
¿Y por qué demonios quieres recordar este número? Para usar en su código? Siempre debe usar Int32.MaxValue o Int32.MinValue en su código ya que estos son valores estáticos (dentro del núcleo .net) y, por lo tanto, su uso es más rápido que la creación de un nuevo int con código.
Mi afirmación: si conoces este número de memoria ... ¡solo estás presumiendo!
fuente
Recuerda esto: 21 IQ ITEM 47
Se puede descodificar con cualquier teclado telefónico, o simplemente puede escribir uno usted mismo en un papel.
Para recordar "21 IQ ITEM 47", iría con "Hitman: Codename 47 tenía 21 misiones, que eran cada IQ ITEM por sí mismas".
O "me lavo los dientes a las 21:47 todos los días, porque tengo un coeficiente intelectual alto y no me gustan los artículos en la boca".
fuente
de-encoded with any phone pad
?