Дополнительно
Какое максимальное значение для int32?
Я никогда не могу вспомнить номер. Мне нужно правило памяти.
1383
45
Я никогда не могу вспомнить номер. Мне нужно правило памяти.
Это 2 147 483 647. Самый простой способ запомнить это - татуировка.
Самый правильный ответ, который я могу придумать, это
Int32.MaxValue
.Если вы считаете, что значение слишком сложно запомнить в базе 10, попробуйте базу 2: 11111111111111111111111111111111
если вы можете вспомнить весь номер Pi, то номер, который вы ищете, находится в положении 1 867 996 680–1 867 996 689 десятичных цифр числа Pi
источник: http://www.subidiom.com/pi/
Это 10 цифр, так что притворись, что это номер телефона (при условии, что ты в США). 214-748-3647. Я не рекомендую звонить.
Вместо того, чтобы думать об этом как об одном большом числе, попробуйте разбить его и искать связанные идеи, например:
Вышеуказанное относится к наибольшему отрицательному числу; положительно то, что минус один.
Возможно, приведенная выше разбивка больше не будет запоминающейся для вас (это вряд ли захватывающе, не так ли?!), но, надеюсь, вы можете придумать некоторые идеи, которые есть!
Наибольшее отрицательное (32-битное) значение: -2147483648 < br / > (1 < < 31) < br / >
Наибольшее положительное (32-битное) значение: 2147483647 < br / > ~ (1 < < 31) < br / >
Мнемоник: "пьяный AKA роговой" < br / >
В любом случае, возьмите этот регулярник (он определяет, содержит ли строка неотрицательное целое число в десятичной форме, которое также не больше, чем Int32.MaxValue)
`[0-9] {1,9} | [0-1] [0-9] {1,8} | 20 [0-9] {1,8} | 21 [0-3] [0-9] {0-6] [0-9] {1,7} | 2147 [0-3] {1
Может быть, это поможет вам вспомнить.
Вот как я вспомнил
2147483647
:Напишите это горизонтально:
Теперь у вас есть 2147483647.
Надеюсь, это поможет хотя бы немного.
Итак, 2 ^ 31 (подписано int max) составляет 2 ^ 30 (около 1 миллиарда) раз 2 ^ 1 (2) или около 2 миллиардов. А 2 ^ 32 - это 2 ^ 30 * 2 ^ 2 или около 4 миллиардов. Этот метод аппроксимации достаточно точен даже до 2 ^ 64 (где ошибка возрастает до 15%).
Если вам нужен точный ответ, вам следует взять калькулятор.
Удобные выравниваемые по слову аппроксимации:
Просто возьмите любой приличный калькулятор и введите «7FFFFFF» в шестнадцатеричном режиме, затем переключитесь на десятичный.
2147483647.
Это о
2,1 * 10 ^ 9
. Не нужно знать точное2 ^ {{{31}}} - 1 = 2 147 483 647
.C
Вы можете найти его в C, как это:
дает (ну, без
,
)C ++ 11
Вот мнемоника для запоминания 2 ** 31, вычтите одну, чтобы получить максимальное целочисленное значение.
a = 1, b = 2, c = 3, d = 4, e = 5, f = 6, g = 7, h = 8, i = 9
Я использовал полномочия двух до 18 достаточно часто, чтобы помнить их, но даже я не удосужился запомнить 2 ** 31. Слишком легко рассчитать по мере необходимости или использовать константу или оценить как 2G .
32 бита, один для знака, 31 бит информации:
Почему -1?& Лт; br / > Потому что первое равно нулю, поэтому наибольшее количество - это счет минус один .
EDIT для 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 фигуры, 2 из них похожи на Tetris L, а одна - на тик . Что определенно намного проще, чем запоминать 10-значный номер.
Когда вам нужно вспомнить номер, просто вспомните фигуры, представьте / посмотрите на клавиатуру телефона и спроектируйте фигуры на ней. Возможно, сначала вам придется взглянуть на клавиатуру, но после небольшой практики вы помните, что цифры идут сверху вниз, а затем - вправо, поэтому вы сможете просто представить это в своей голове.
Просто убедитесь, что вы помните направление фигур и количество цифр в каждой форме (например, в примере 2147483647 у нас есть 4-значный Tetris L и 3-значный L).
Вы можете использовать эту технику, чтобы легко запомнить любые важные цифры (например, я вспомнил свой 16-значный номер кредитной карты и т. Д.).).
Сначала запишите 47 дважды (вам нравится [Агент 47][1], верно?), сохраняя пробелы, как показано (каждая тире - это слот для одной цифры. Сначала 2 слота, затем 4)
Думаю, у вас в руках
12
(потому что 12 = дюжина). Умножьте его на4
, первую цифру номера агента 47, т.е.47
, и поместите результат справа от первой пары, которая у вас уже естьСамый простой способ сделать это для целых чисел - использовать шестнадцатеричное, при условии, что нет ничего подобного Int.maxInt (). Причина в том, что:
Максимальные значения без знака
Подписанные значения, используя 7F в качестве максимального подписанного значения
Подписанные значения, используя 80 в качестве максимального подписанного значения
Как это работает? Это очень похоже на бинарную тактику, и каждая шестнадцатеричная цифра составляет ровно 4 бита. Кроме того, многие компиляторы поддерживают гексы намного лучше, чем бинарные.
Таким образом, 7F равен 01111111 / 7FFF равен 011111111111111111111111. Кроме того, если вы используете это для "безумно высокой постоянной", 7F ... это безопасный гекс, но достаточно просто опробовать 7F и 80 и просто распечатать их на экране, чтобы увидеть, какой это.
0x7FFF + 0x0001 = 0x8000, поэтому ваша потеря - только одно число, поэтому с помощью 0x7F ... обычно это не плохой компромисс для более надежного кода, особенно когда вы начинаете использовать 32-битный или более
2GB
(есть ли минимальная длина для ответов?)
Лучшее правило для его запоминания: 21 (магический номер!) 47 (просто запомни это) 48 (последовательный!) 36 (21 + 15, обе магии!) 47 снова
Также легче запомнить 5 пар, чем 10 цифр.