без знака: 2³²-1 = 4 · 1024³-1; подписано: -2³¹ .. + 2³¹-1, потому что бит знака является старшим битом. Просто выучите 2⁰ = 1 до 2¹⁰ = 1024 и объедините. 1024 = 1k, 1024² = 1M, 1024³ = 1G
комонада
31
Я вообще помню, что каждые 3 бита - это десятичная цифра. Это приводит меня к правильному порядку величины: 32 бита - это 10 цифр.
Бармар
8
@JoachimSauer, безусловно, может помочь при отладке, если вы научитесь хотя бы распознавать такие виды чисел.
Дунарил
72
«если диск заполнится, удаление всех мегабайт приведет к архивированию» (2 буквы, 1 буква, 4 буквы, 7 букв, 4 буквы, 8 букв, 3 буквы, 6 букв, 4 буквы, 7 букв)
Моя мнемоника: 2 ^ 10 очень близко к 1000, поэтому 2 ^ (3 * 10) составляет 1000 ^ 3 или около 1 миллиарда. Один из 32 битов используется для знака, поэтому максимальное значение в действительности составляет всего 2 ^ 31, что примерно вдвое больше, чем вы получаете за 2 ^ (3 * 10): 2 миллиарда.
16807
164
2147483647 без запятых.
Верн Д.
20
Просто используйте: Integer.MAX_VALUEв Java.
Тим
184
Если у вас есть татуировка на лице, не забудьте перевернуть ее, чтобы она правильно читалась в зеркале. В противном случае вы увидите 746 384 741,2, что неправильно и будет неудобно.
Ларри С.
127
2,147,483,647 = 0x7FFFFFFF, если вы хотите это запомнить, просто используйте hex.
roottraveller
493
Самый правильный ответ , который я могу думать Int32.MaxValue.
До этого я использовал #define INT32_MIN и INT32_MAX во всех моих проектах.
WildJoe
45
@CamiloMartin Привет. Я негодую на это. Там просто не было места для татуировок. Очевидно, что кодировке iso-8859-1 и десятичному
числу
3
Когда вы программируете: да, в 99% случаев. Но вы, возможно, захотите знать, что на планирование подходов к программированию или на работу с данными уходит около 2 миллиардов, хотя это очень большое число. :)
Андре Фигейредо
@sehe Разве латинская версия 1 / Windows 1252 устарела? Если он не может поместиться в 7 байтах ASCII, я не думаю, что он заслуживает места в основной памяти. Я имею в виду ... все кодовые страницы UNICODE довольно полезны, но более миллиона мегабайт пространства кажется пустой тратой. (Не говоря уже о том, что он по-прежнему не содержит описательных глифов для "pageup / pagedown" или "pagehome / pageend")
1
Это свойство может быть хорошим советом в дополнение к упоминанию правильного числа. Однако мне не нравится этот ответ, поскольку в нем упоминается только непереносимый способ определения значения и не упоминается, для каких языков программирования это работает, либо ...
mozzbozz 12.12.14
439
Если вы считаете, что значение слишком сложно запомнить в базе 10, попробуйте базу 2: 1111111111111111111111111111111
@ Ник Уэйли: Нет, 1111111111111111111111111111111 положительный. 11111111111111111111111111111111 будет отрицательным :-)
Творог
58
База 16, это даже проще 7FFFFFFF
Нельсон Гальдеман Грациано
34
@Curd 11111111111111111111111111111111как число base-2 все равно будет положительным (пример отрицательного в base-2 будет -1) . Эта последовательность битов отрицательна только в том случае, если она представляет 32-битный номер дополнения 2 :)
BlueRaja - Danny Pflughoeft
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 указывается с десятичной цифрой Pi 1 867 996 680. 3.14 ...... 86181221809936452346 2147483647 10527835665425671614 ...
Вы знаете, когда я начал читать ваш ответ, я ожидал чего-то практичного, например, 20-й цифры.
JqueryToAddNumbers
95
Это выглядит довольно круто. У вас есть другое правило памяти, чтобы помнить 1 867 996 680? Мне трудно вспомнить, по какому указателю начинать искать ....
Альдерат
10
« если вы можете вспомнить все числа Пи ... » - нет, вы не можете, это иррационально {как, возможно, один или два сообщения в этой Q & As} 8-D
SlySven
10
@Alderath Я обычно помню это как 10 десятичных знаков в sqrt (2), начиная с цифры 3803030133 ....
Henrik
2
@Alderath: числовая строка 1867996680 появляется в 380 630 713-й десятичной цифре квадратного корня из 2.
Яир Хальберштадт
290
Это 10 цифр, поэтому представьте, что это номер телефона (если вы в США). 214-748-3647. Я не рекомендую называть это.
Говоря о том, что он запомнился как номер телефона, похоже, что некоторые телефонные спаммеры используют его: mrnumber.com/1-214-748-3647
Стивен,
8
«В Далласе нет обмена« 748 ». Этот номер - подделка». - со страницы, на которую ссылается shambleh
Tarnay Kálmán
104
@ Стивен Я не думаю, что они спамеры, просто люди, которые случайно сохранили номер телефона INTвместо VARCHARMySQL.
Зарел
8
Пробовал звонить. Он звонил несколько раз, затем переходил на тональный сигнал ошибки. = (
Krythic
172
Вместо того, чтобы думать об этом как об одном большом числе, попробуйте разбить его и искать связанные идеи, например:
2 максимальных перерыва на снукер (максимальный перерыв - 147)
4 года (48 месяцев)
3 года (36 месяцев)
4 года (48 месяцев)
Вышесказанное относится к наибольшему отрицательному числу; положительным является то, что минус один.
Возможно, вышеупомянутая разбивка не будет более запоминающейся для вас (это вряд ли интересно!), Но, надеюсь, вы сможете придумать некоторые идеи, которые есть!
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
Миры сложнее всего вспомнить мнемонику. Если вы можете запомнить 0118 999 88199 9119 752 ... 3, вы можете запомнить это.
BenM
11
@Rondles Я думаю, что на самом деле это 7253 в конце.
Тим Тисдалл
21
Нет. Питьевой возраст здесь 18 ... Кажется, я не могу использовать эту мнемонику, моя жизнь разрушена.
Джоффри
4
@ Aaren Cordova Раньше говорили, что stackoverflow никогда не будет смешным, не более, чем сайт вопросов и ответов, я обычно указываю на этот ответ. Эта вещь может быть создана только внутри гениального ума, я имею в виду это есть искусство.
Мохд Абдул Муджиб
5
Наибольшее отрицательное 32-разрядное целое число, или 64-разрядное в этом отношении, равно -1.
Фред Митчелл
75
В любом случае, возьмем это регулярное выражение (оно определяет, содержит ли строка неотрицательное целое число в десятичной форме, которое также не больше Int32.MaxValue)
Хороший! Я думаю, что правило 214 должно быть пи - 1. Также маска показывает 68, а не 64. =) Для любителей авиации, таких как я, значение 737 должно быть легко запомнить, связывая его со средним самолетом Боинга среднего размера.
Вы можете пойти дальше, чем это. Бросьте десятичную дробь и сравните число пи и 2 ^ 31-1. В тех же позициях вы получаете 141 против 147, поэтому последняя цифра просто становится 7. Тогда 592 против 483, все на одну цифру друг от друга. И 643 против 647, это то, что снова становится 7.
Питер Купер
@PeterCooper Альто десятичные дроби для числа Пи начинаются с 1415926_5_35 (обратите внимание на 5, а не на 4)
Моберг
15
Моя мнемоника состоит в том, чтобы взять 4294967296 (что легко запомнить) и разделить на 2
Таким образом, 2 ^ 31 (со знаком int max) составляет 2 ^ 30 (около 1 миллиарда) раз 2 ^ 1 (2) или около 2 миллиардов. И 2 ^ 32 это 2 ^ 30 * 2 ^ 2 или около 4 миллиардов. Этот метод приближения достаточно точен даже до 2 ^ 64 (где ошибка возрастает до 15%).
Если вам нужен точный ответ, то вам следует воспользоваться калькулятором.
Удобные аппроксимации с выравниванием по словам:
2 ^ 16 ~ = 64 тыс. // уинт16
2 ^ 32 ~ = 4 миллиарда // uint32, IPv4, unixtime
2 ^ 64 ~ = 16 квинтиллионов (16 миллиардов или 16 миллионов триллионов) // uint64, "bigint"
@ Нет, я ценю ссылку, но мой ответ на Python о "Python 2" (я добавляю 2 к названию раздела, чтобы сделать его более понятным). Так что мой ответ не устарел. (Но Python 2, по общему признанию, есть)
Мартин Тома
35
Вот мнемоника для запоминания 2 ** 31, вычтите единицу, чтобы получить максимальное целочисленное значение.
а = 1, B = 2, с = 3, d = 4, е = 5, F = 6, г = 7, ч = 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 бита и, следовательно, может хранить 2 ^ 32 значения. Не менее.
JB.
28
Ну, кроме шуток, если вы действительно ищете полезное правило памяти, есть одно, которое я всегда использую для запоминания больших чисел.
Вам нужно разбить ваш номер на части из 3-4 цифр и запомнить их визуально, используя проекцию на клавиатуре вашего мобильного телефона. Проще показать на картинке:
Как вы можете видеть, теперь вам нужно запомнить только 3 фигуры, две из которых выглядят как тетрис L, а одна - как галочка . Что, безусловно, намного проще, чем запоминание 10-значного числа.
Когда вам нужно вспомнить номер, просто вспомните фигуры, представьте / посмотрите на клавиатуру телефона и спроецируйте фигуры на нее. Возможно, вначале вам придется взглянуть на клавиатуру, но после небольшой практики вы вспомните, что цифры идут сверху вниз, справа внизу, поэтому вы сможете просто представить это в своей голове.
Просто убедитесь, что вы помните направление фигур и количество цифр в каждой форме (например, в примере 2147483647 у нас есть 4-значный Tetris L и 3-значный L).
Вы можете использовать эту технику, чтобы легко запомнить любые важные цифры (например, я запомнил 16-значный номер кредитной карты и т. Д.).
Идеальная идея! Форма 1 дает вам 2147, Форма 2 дает вам 483, а Форма 3 должна давать 647, но, как показано, ее можно интерпретировать как 6 5 47. Как я знаю, когда включать все скрещенные числа (как в Форме 1 ) и когда пропустить некоторые (как в форме 3)? Вы также должны запомнить, что фигуры кодируют 4, 3 и 3 цифры соответственно. Или вы можете нарисовать форму 3 с дугой от 6 до 4 вместо прямой линии.
Jskroch
@Squinch Хорошо, особенно для запоминания int.Max это не должно быть проблемой, так как вы можете знать, что это около 2 миллиардов, поэтому в нем 10 чисел (это означает, что если первая фигура имеет 4 числа, то вторая и третья). формы имеют 3 соответственно). Тем не менее, это хороший момент, если вы хотите использовать этот подход для любого числа. Кроме того, есть цифры, которые трудно запомнить с помощью этого способа (например, 1112 или что-то). С другой стороны, запоминать такой номер в любом случае не составит труда. Так что я бы сказал, что это зависит от вас, дайте мне знать, если вы придумали что-нибудь интересное для этого. :)
Иван Юрченко
Да, я думал об использовании этого метода для вызова произвольной последовательности цифр, но для этого конкретного значения int.Max ваш метод работает довольно хорошо. Как вы сказали, повторяющиеся цифры являются проблемой. На самом деле любая повторяющаяся последовательность (например, 2323) является проблемой. Любую последовательность, которая пересекает себя (например, 2058), трудно нарисовать. Любая техника запоминания требует, чтобы вы запомнили несколько частей информации. Это личное предпочтение, какие типы информации лучше всего придерживаются в вашей голове.
Jskroch
1
Вот так я запоминаю пин-коды и тому подобное, но вдруг вам нужно набрать их на своем компьютере и понять, что цифровая клавиатура перевернута вертикально. Так что это немного сложно.
нибариус
Кто-то в Далласе, штат Техас , получил много странных телефонных звонков и не подозревает, что вы, @IvanYurchenko, виноваты.
Боб Стейн
21
Самый простой способ сделать это для целых чисел - это использовать шестнадцатеричное при условии, что нет ничего похожего на Int.maxInt (). Причина в следующем:
Как это работает? Это очень похоже на двоичную тактику, и каждая шестнадцатеричная цифра составляет ровно 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 ... это безопасный гекс, но достаточно просто попробовать 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 больше в абсолютном значении чем положительный предел.
@JoukevanderMaas - На самом деле это должно быть 4B.
Тед Хопп
1
Вот почему лимит ОЗУ, который вы можете иметь на 32-битном компьютере, составляет 4 ГБ
Серж Саган,
3
значение 4 ГБ является правильным с целыми числами без знака. если у вас есть int со знаком, вам, очевидно, нужно разделить на 2, чтобы получить максимально возможное значение
SwissCoder
3
В 32-разрядной системе имеется 2 ГБ резерва пространства памяти для пользовательского процесса и 2 ГБ для ядра. Его можно настроить так, чтобы ядру было зарезервировано только 1 ГБ
// 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 требует 10 или 13 символов для ввода в зависимости от того, введены вы запятые или нет.
Но важнее не то, сколько символов вы должны набрать, а то, как это запомнить. Я уверен, что Iwannagohomeлегче запомнить, чем 298347829. Никаких причин для -1, однако.
glglgl
3
Это может быть меньше, просто сделайте свой собственный фрагмент максимального значения, возможно, «imv» <tab> <tab>?
BradleyDotNET
4
!=Клавиши персонажей . Для этого бедного пользователя .Net это in+ .+ ma+ Return.
Майкл - Где Клэй Ширки
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 миллиарда. Для беззнакового int, использующего 32 бита, снова удваивается для 4 миллиардов. Коэффициент ошибок тем больше, чем больше вы идете, конечно, но вам не нужно запоминать точное значение (если вам это нужно, вы все равно должны использовать предопределенную константу для него). Приблизительное значение достаточно для того, чтобы заметить, когда что-то опасно близко к переполнению.
Оффтоп: 2 ^ 4 = 4 ^ 2, поэтому возведение в степень коммутативно!
Адам Лисс
10
@ Pier-OlivierThibault Нет, я использую его все время! теперь мне нужно выяснить, почему вся моя математика выходит из строя. вероятно, что-то делать с ошибками умножения. во всяком случае, пока!
tckmn
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
Что вы имеете в виду? Должно быть достаточно легко запомнить, что это 2 ^ 32. Если вы хотите, чтобы правило запоминало значение этого числа, удобное эмпирическое правило предназначено для преобразования между двоичным и десятичным в целом:
2 ^ 10 ~ 1000
что означает 2 ^ 20 ~ 1 000 000
и 2 ^ 30 ~ 1 000 000 000
Вдвое больше (2 ^ 31) составляет около 2 миллиардов, а вдвое больше (2 ^ 32) - 4 миллиарда.
Это простой способ получить приблизительную оценку любого двоичного числа. 10 нулей в двоичном виде становятся 3 нулями в десятичном виде.
Int32 означает, что у вас есть 32 бита для хранения вашего номера. Старший бит - это бит знака, это указывает, является ли число положительным или отрицательным. Таким образом, у вас есть 2 ^ 31 бит для положительных и отрицательных чисел.
Если ноль является положительным числом, вы получите логический диапазон (упомянутый ранее)
От +2147483647 до -2147483648
Если вы думаете, что это мало, используйте Int64:
+9223372036854775807 до -9223372036854775808
И какого черта ты хочешь запомнить этот номер? Использовать в своем коде? Вы всегда должны использовать Int32.MaxValue или Int32.MinValue в своем коде, так как это статические значения (в ядре .net) и, следовательно, быстрее в использовании, чем создание нового int с кодом.
Мое утверждение: если знать этот номер по памяти ... ты просто хвастаешься!
Большинство современных компьютеров хранят числа в формате «комплимент». Самый старший (не самый низкий) бит - это знак. Изюминка в конкуренции между двумя состоит в том, что все числа обрабатываются естественными правилами переполнения ЦП. то есть 0xFF - это 8 бит -1, добавьте это к 0x01 (+1), и вы получите 0x100. Обрежьте биты выше 8 до 0x00, и вы получите ответ.
Том Лейс
5
Помните это: 21 IQ ITEM 47
Он может быть декодирован с любой телефонной панели, или вы можете просто написать ее на бумаге.
Чтобы вспомнить «21 IQ ITEM 47», я бы сказал: «Hitman: Codename 47 имел 21 миссию, каждая из которых была IQ ITEM».
Или «Я чищу зубы каждый день в 21:47, потому что у меня высокий IQ и мне не нравятся предметы во рту».
Ответы:
Это 2 147 483 647. Самый простой способ запомнить это с помощью татуировки.
источник
Integer.MAX_VALUE
в Java.Самый правильный ответ , который я могу думать
Int32.MaxValue
.источник
Если вы считаете, что значение слишком сложно запомнить в базе 10, попробуйте базу 2: 1111111111111111111111111111111
источник
11111111111111111111111111111111
как число base-2 все равно будет положительным (пример отрицательного в base-2 будет-1
) . Эта последовательность битов отрицательна только в том случае, если она представляет 32-битный номер дополнения 2 :)если вы можете вспомнить все число Пи, то искомое число находится в диапазоне от 1 867 996 680 до 1 867 996 689 десятичных цифр числа Пи
источник: http://www.subidiom.com/pi/
источник
Это 10 цифр, поэтому представьте, что это номер телефона (если вы в США). 214-748-3647. Я не рекомендую называть это.
источник
INT
вместоVARCHAR
MySQL.Вместо того, чтобы думать об этом как об одном большом числе, попробуйте разбить его и искать связанные идеи, например:
Вышесказанное относится к наибольшему отрицательному числу; положительным является то, что минус один.
Возможно, вышеупомянутая разбивка не будет более запоминающейся для вас (это вряд ли интересно!), Но, надеюсь, вы сможете придумать некоторые идеи, которые есть!
источник
2^(31!)
или(2^31)!
?Наибольшее отрицательное (32-битное) значение: -2147483648
(1 << 31)
Наибольшее положительное (32-битное) значение: 2147483647
~ (1 << 31)
Мнемоника: "Пьяная ака роговая"
источник
В любом случае, возьмем это регулярное выражение (оно определяет, содержит ли строка неотрицательное целое число в десятичной форме, которое также не больше 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
:Напишите это по горизонтали:
Теперь у вас есть 2147483647.
Надеюсь, это поможет хоть немного.
источник
Таким образом, 2 ^ 31 (со знаком int max) составляет 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
.С
Вы можете найти это в C так:
дает (ну без
,
)C ++ 11
Ява
Вы можете получить это и с Java:
Но имейте в виду, что целые числа Java всегда подписаны.
Python 2
Python имеет произвольные целые числа точности. Но в Python 2 они отображаются на целые числа C. Так что вы можете сделать это:
Таким образом, Python переключается на
long
когда целое число становится больше, чем2^31 -1
источник
Вот мнемоника для запоминания 2 ** 31, вычтите единицу, чтобы получить максимальное целочисленное значение.
а = 1, B = 2, с = 3, d = 4, е = 5, F = 6, г = 7, ч = 8, I = 9
Я достаточно часто использовал силы от двух до 18, чтобы помнить их, но даже я не удосужился запомнить 2 ** 31. Это слишком легко рассчитать по мере необходимости или использовать константу, или оценить как 2G.
источник
32 бита, один для знака, 31 бит информации:
Почему -1?
Поскольку первое - ноль, то самое большое - это число минус один .
РЕДАКТИРОВАТЬ для cantfindaname88
Количество равно 2 ^ 31, но наибольшее не может быть 2147483648 (2 ^ 31), потому что мы считаем от 0, а не от 1.
Другое объяснение только с 3 битами: 1 для знака, 2 для информации
Ниже всех возможных значений с 3 битами: (2 ^ 3 = 8 значений)
источник
Ну, он имеет 32 бита и, следовательно, может хранить 2 ^ 32 различных значений. Половина из них отрицательны.
Решение - 2 147 483 647
И самый низкий - -2 147 483 648.
(Обратите внимание, что есть еще одно отрицательное значение.)
источник
Ну, кроме шуток, если вы действительно ищете полезное правило памяти, есть одно, которое я всегда использую для запоминания больших чисел.
Вам нужно разбить ваш номер на части из 3-4 цифр и запомнить их визуально, используя проекцию на клавиатуре вашего мобильного телефона. Проще показать на картинке:
Как вы можете видеть, теперь вам нужно запомнить только 3 фигуры, две из которых выглядят как тетрис L, а одна - как галочка . Что, безусловно, намного проще, чем запоминание 10-значного числа.
Когда вам нужно вспомнить номер, просто вспомните фигуры, представьте / посмотрите на клавиатуру телефона и спроецируйте фигуры на нее. Возможно, вначале вам придется взглянуть на клавиатуру, но после небольшой практики вы вспомните, что цифры идут сверху вниз, справа внизу, поэтому вы сможете просто представить это в своей голове.
Просто убедитесь, что вы помните направление фигур и количество цифр в каждой форме (например, в примере 2147483647 у нас есть 4-значный Tetris L и 3-значный L).
Вы можете использовать эту технику, чтобы легко запомнить любые важные цифры (например, я запомнил 16-значный номер кредитной карты и т. Д.).
источник
Самый простой способ сделать это для целых чисел - это использовать шестнадцатеричное при условии, что нет ничего похожего на Int.maxInt (). Причина в следующем:
Максимальное значение без знака
Значения со знаком, используя 7F в качестве максимального значения со знаком
Значения со знаком, используя 80 в качестве максимального значения со знаком
Как это работает? Это очень похоже на двоичную тактику, и каждая шестнадцатеричная цифра составляет ровно 4 бита. Кроме того, многие компиляторы поддерживают hex намного лучше, чем двоичный.
Так что 7F равно 01111111 / 7FFF равно 0111111111111111. Кроме того, если вы используете это для «безумно высокой константы», 7F ... это безопасный гекс, но достаточно просто попробовать 7F и 80 и просто напечатать их на ваш экран, чтобы увидеть, какой это.
0x7FFF + 0x0001 = 0x8000, так что ваш убыток составляет всего одно число, поэтому использование 0x7F ... обычно не является плохим компромиссом для более надежного кода, особенно если вы начнете использовать 32-битные или более
источник
Сначала запишите 47 дважды, (вам нравится Агент 47 , верно?), Оставляя пробелы, как показано (каждая черта - это слот для одной цифры. Сначала 2 слота, затем 4)
Думаю, у вас
12
в руках (потому что 12 = дюжина). Умножьте его на4
первую цифру номера агента 47, т. Е.47
Поместите результат справа от первой пары, которая у вас уже естьЗатем умножьте
12
на3
(чтобы сделать вторую цифру номера Агента 47, которая7
вам нужна7 - 4 = 3
) и поместите результат справа от первых 2 пар, последнего парного слотаНаконец, перетащите цифры одну за другой из вашей руки, начиная с самой правой цифры (в данном случае 2), и поместите их в первый пустой слот, который вы получите.
Вот оно! Для отрицательного предела, вы можете думать об этом как 1 больше в абсолютном значении чем положительный предел.
Потренируйтесь несколько раз, и вы освоите это!
источник
2 Гб
(есть ли минимальная длина для ответов?)
источник
Предполагая .NET -
источник
Если вам случается знать свою таблицу ASCII наизусть, а не
MaxInt
:!GH6G = 21 47 48 36 47
источник
Лучшее правило для запоминания:
21 (магическое число!)
47 (просто запомни)
48 (последовательное!)
36 (21 + 15, обе магические!)
47 снова
Также легче запомнить 5 пар, чем 10 цифр.
источник
Самый простой способ запомнить это посмотреть на
std::numeric_limits< int >::max()
Например ( из MSDN ),
источник
Интересно, что Int32.MaxValue содержит больше символов, чем 2 147 486 647.
Но опять же, у нас есть завершение кода,
Так что я думаю, что все, что нам действительно нужно запомнить -
Int3<period>M<enter>
это всего 6 символов, которые можно набрать в визуальной студии.ОБНОВЛЕНИЕ Почему-то я был понижен. Единственная причина, по которой я могу придумать, заключается в том, что они не поняли мое первое утверждение.
«Int32.MaxValue» занимает не более 14 символов для ввода. 2,147,486,647 требует 10 или 13 символов для ввода в зависимости от того, введены вы запятые или нет.
источник
Iwannagohome
легче запомнить, чем298347829
. Никаких причин для -1, однако.!=
Клавиши персонажей . Для этого бедного пользователя .Net этоin
+.
+ma
+ Return.Просто помните, что 2 ^ (10 * x) - это примерно 10 ^ (3 * x) - вы, вероятно, уже привыкли к этому с килобайтами / кибибайтами и т. Д. То есть:
Поскольку int использует 31 бит (+ ~ 1 бит для знака), просто удвойте 2 ^ 30, чтобы получить приблизительно 2 миллиарда. Для беззнакового int, использующего 32 бита, снова удваивается для 4 миллиардов. Коэффициент ошибок тем больше, чем больше вы идете, конечно, но вам не нужно запоминать точное значение (если вам это нужно, вы все равно должны использовать предопределенную константу для него). Приблизительное значение достаточно для того, чтобы заметить, когда что-то опасно близко к переполнению.
источник
вот как я это запомнил 2 147 483 647
В далекой четверти саванны Оптимус трио проклял сорок семилетний
источник
Что вы имеете в виду? Должно быть достаточно легко запомнить, что это 2 ^ 32. Если вы хотите, чтобы правило запоминало значение этого числа, удобное эмпирическое правило предназначено для преобразования между двоичным и десятичным в целом:
2 ^ 10 ~ 1000
что означает 2 ^ 20 ~ 1 000 000
и 2 ^ 30 ~ 1 000 000 000
Вдвое больше (2 ^ 31) составляет около 2 миллиардов, а вдвое больше (2 ^ 32) - 4 миллиарда.
Это простой способ получить приблизительную оценку любого двоичного числа. 10 нулей в двоичном виде становятся 3 нулями в десятичном виде.
источник
В Objective-C (iOS и OSX) просто запомните эти макросы:
источник
Int32 означает, что у вас есть 32 бита для хранения вашего номера. Старший бит - это бит знака, это указывает, является ли число положительным или отрицательным. Таким образом, у вас есть 2 ^ 31 бит для положительных и отрицательных чисел.
Если ноль является положительным числом, вы получите логический диапазон (упомянутый ранее)
От +2147483647 до -2147483648
Если вы думаете, что это мало, используйте Int64:
+9223372036854775807 до -9223372036854775808
И какого черта ты хочешь запомнить этот номер? Использовать в своем коде? Вы всегда должны использовать Int32.MaxValue или Int32.MinValue в своем коде, так как это статические значения (в ядре .net) и, следовательно, быстрее в использовании, чем создание нового int с кодом.
Мое утверждение: если знать этот номер по памяти ... ты просто хвастаешься!
источник
Помните это: 21 IQ ITEM 47
Он может быть декодирован с любой телефонной панели, или вы можете просто написать ее на бумаге.
Чтобы вспомнить «21 IQ ITEM 47», я бы сказал: «Hitman: Codename 47 имел 21 миссию, каждая из которых была IQ ITEM».
Или «Я чищу зубы каждый день в 21:47, потому что у меня высокий IQ и мне не нравятся предметы во рту».
источник
de-encoded with any phone pad
?