Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
2.2.1.2 Целые числа

Возможно, вы уже немного знаете о том, как компьютеры выполняют вычисления с числами. Возможно, вы слышали о двоичной системе и знаете, что это система, которую компьютеры используют для хранения чисел, и что они могут выполнять с ними любые операции.

Мы не будем здесь исследовать тонкости позиционных систем счисления, но скажем, что числа, обрабатываемые современными компьютерами, бывают двух типов:

  • целые числа (integers), то есть те, которые лишены дробной части;
  • и числа с плавающей запятой (floating-point numbers), которые содержат (или могут содержать) дробную часть.

Это определение не совсем точное, но на данный момент его вполне достаточно. Различие очень важно, и граница между этими двумя типами чисел очень строгая. Оба этих вида чисел существенно различаются по способу хранения в памяти компьютера и по диапазону допустимых значений.

Характеристика числового значения, определяющая его вид, диапазон и применение, называется типом.

Если вы закодируете литерал и поместите его в код Python, форма литерала определяет представление (type), которое Python будет использовать для хранения его в памяти.

А пока оставим в стороне числа с плавающей запятой (мы скоро к ним вернемся) и рассмотрим вопрос о том, как Python распознает целые числа.

Процесс почти такой же, как если бы вы написали их карандашом на бумаге - это просто набор цифр, составляющих число. Но есть оговорка - нельзя вставлять в число символы, не являющиеся цифрами.

Возьмем, к примеру, число одиннадцать миллионов сто одиннадцать тысяч сто одиннадцать. Если бы вы прямо сейчас взяли в руку карандаш, вы бы написали это число так: 11,111,111, или вот так: 11.111.111, или даже так: 11 111 111.

Понятно, что это положение облегчает чтение, особенно когда номер состоит из многих цифр. Однако Python не принимает такие вещи. Это запрещено. Однако Python позволяет использовать символы подчеркивания в числовых литералах. *

Следовательно, вы можете написать это число либо так: 11111111, либо так: 11_111_111.

ПРИМЕЧАНИЕ. * Python 3.6 представил символы подчеркивания в числовых литералах, что позволяет размещать одиночные символы подчеркивания между цифрами и после базовых спецификаторов для улучшения читаемости. Эта функция недоступна в более старых версиях Python.

А как мы кодируем отрицательные числа в Python? Как обычно - с добавлением минуса. Вы можете написать: -11111111 или -11_111_111.

Положительным числам не обязательно ставить знак плюса, но это допустимо, если вы хотите. Следующие строки описывают один и тот же номер: +11111111 и 11111111.

----- ----- ----- ----- -----

Целые числа: восьмеричные и шестнадцатеричные числа / Integers: octal and hexadecimal numbers

В Python есть два дополнительных соглашения, которые неизвестны миру математики.

  • Первое соглашение позволяет нам использовать числа в восьмеричном представлении.

Если целому числу предшествует префикс 0O или 0o ( zero-o ), оно будет рассматриваться как восьмеричное значение. Это означает, что номер должен содержать цифры только из диапазона [0..7].

0o123 - восьмеричное число с (десятичным) значением, равным 83.

Функция print() выполняет преобразование автоматически. Попробуй это:

print(0o123)

  • Второе соглашение позволяет нам использовать шестнадцатеричные числа. Таким числам должен предшествовать префикс 0x или 0X ( zero-x ).

0x123 - шестнадцатеричное число с (десятичным) значением, равным 291. Функция print() также может управлять этими значениями. Попробуй это:

print(0x123)

🔁

RetraR — Компьютерные игры для Nintendo Game Boy
Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR
RetraR
Канал ретро компьютерных игр

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.