Недесятичные целочисленные литералы

Как и многие другие языки программирования, Perl позволяет задавать числа в других системах счисления кроме десятичной (по основанию 10). Восьмеричные литералы (основание 8) начинаются с 0, шестнадцатеричные (основание 16) начинаются с префикса 0x, а двоичные (основание 2) – с префикса 0b.1 Шестнадцатеричные цифры от A до F (или от a до f) представляют десятичные значения от 10 до 15. Пример:

0377 # 377 в восьмеричной записи; то же, что 255 десятичное
0xff # FF в шестнадцатеричной записи; тоже 255 десятичное
0b11111111 # тоже 255 десятичное

Нам, людям, эти числа кажутся разными, но для Perl все три числа одинаковы. С точки зрения Perl абсолютно неважно, напишете ли вы 0xFF или 255.000, поэтому выберите то представление, которое будет наиболее логичным для вас и вашего специалиста по сопровождению (того несчастного, которому придется разбираться, что вы имели в виду при написании своего кода; чаще всего им оказываетесь вы сами, причем начисто не помните, почему три месяца назад вы поступили именно так!)

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

0x1377_0B77
0x50_65_72_7C

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Perl на эту тему:
Автоматическое преобразование между числами и строками
Бинарные операторы присваивания
Вещественные литералы
Встроенные предупреждения Perl
Выбор имен переменных

Вернуться в раздел: Perl / 1. Скалярные данные