Как запомнить знаковые и беззнаковые диапазоны максимальных значений

Как запомнить знаковые и беззнаковые диапазоны максимальных значений

Не будем о том зачем это нужно. Это может пригодиться в самых разных случаях.
Итак, как же запомнить эти числа тем, кто не очень дружит с запоминанием чисел.
Вот эти диапазоны:

Код:

signed char          -128, 127
unsigned char        255
signed short int    -32768, 32767
unsigned short int  65535
signed long int      -2147483648, 2147483647
unsigned long int    4294967295

Чтобы крепко запомнить эти значения, надо прежде всего выявить некоторые закономерности в самих числах.
1. все знаковые отрицательные (предельные значения естественно) числа всегда оканчиваются на цифру 8
2. все знаковые положительные числа всегда оканчиваются на цифру 7
3. все беззнаковые предельные числа всегда оканчиваются на цифру 5
Итак это легко запомнить. При этом для простого char достаточно помнить числа 12 и 25 (-128, 127 и 255).
Сложнее запомнить тип short и int. Тут подход тот же самый: выявляем закономерности. Возьмем тип знаковый short. Это числа -32768 и 32767. Мы видим что эти числа различаются только последней цифрой, которая как мы уже знаем, может быть только 7 или 8. Значит нам нужно запомнить только 4 цифры: 3276. Мы замечаем, что все цифры разные, и что тройка на единицу больше чем следующая за ней цифра 2. А цифра 7 больше на единицу следующей за ней цифры 6. К тому же цифры 3 и 7 нечетные, а цифры 2 и 6 четные. Поэтому достаточно запомнить только числа 37 или 26, чтобы по ним пользуясь правилами закономерности, вспомнить всё число 3276.
Далее беззнаковое short. Это число 65535. Сразу отбрасываем 5: 6553. Надо запомнить 4 цифры. Сразу отмечаем, что беззнаковое начинается на цифру 6, которая вдвое больше, чем первая цифра знакового: 3. Далее:
1. вторая цифра на единицу меньше, чем первая.
2. следующая одинакова со второй. А последняя тройка вдвое меньше чем первая.
Итак идем далее и берем тип int.
Это числа -2147483648, 2147483647 и 4294967295.
Как запомнить это? Опять выявляем закономерности. Числа имеют по 10 цифр. Отбрасывая последнюю цифру,которая может быть только 7, 8 или 5 (для беззнакового предельного числа), мы имеем уже 9 цифр.
Берем знаковое число без последней цифры. Значит нам нужно запомнить число 214748364. Сразу отметим и запомним, что оно начинается на 2, а оканчивается на вдвое большую цифру; 4. Разделим оставшиеся цифры на блоки для большей ясности:
147 48 36.
Что мы здесь видим, какие закономерности?
1. число 47 тоже самое число, которым оканчивается положительно знаковое число: 2147483647.
2. цифра 1 меньше на единицу, чем первая цифра: 2147483647. (Помните, как в типе short?).
3. число 48 тоже самое число, которым заканчивается отрицательное предельное число: 2147483648.
4. числа 48 и 36 имеют одинаковую особенность, что вторая цифра в два раза больше чем первая.
5. цифра 3 на единицу меньше цифры 4 в числе 48.
При этом достаточно запомнить, что число начинается на 2, и цифры 48 и 36.

Теперь берем беззнаковое целое 4294967295. Как его запомнить? Сразу отбрасываем пятерку, получая 429496729.
Отмечаем, что беззнаковое начинается на 4, вдвое большее цифры 2 в знаковом числе. Далее:
1. видим, что число 29 повторяется дважды: 429496729, в конце и сразу после первой цифры 4. И что вторая цифра 2 вдвое меньше первой цифры 4.
Выделим блоки: 4 29 49 67 29.
2. цифра 7, которая стоит перед последним числом 29, есть разность 9 - 2 = 7.
3. цифра 6, которая стоит перед цифрой 7, на единицу меньше семерки.
4. число 49, которое стоит перед чцифрой 6 (или числом 67) получается 6 * 7 = 42 + 9 - 2 = 49.
5. или цифра 9 в числе 49 есть перевернутая цифра 6 в числе 67.
6. тогда, цифра 4 в числе 49 есть вторая после первого числа 29 и равна первой цифре предельного беззнакого числа: 4 29 49 67 29 5.
Вот кажется и всё на этом. Если кто выявит и другие закономерности, которые упрощают запоминание сих чисел, прошу указать это в комментариях. Спасибо за внимание!

Всего комментариев 32

Комментарии