Ведущий ноль
Ведущий ноль — это любая 0 цифра , которая стоит перед первой ненулевой цифрой в числовой строке в позиционной записи . [1] Например, Джеймса Бонда , 007, имеет два ведущих нуля. знаменитый идентификатор [2] Любые нули, появляющиеся слева от первой ненулевой цифры (любого целого или десятичного числа), не влияют на его значение и могут быть опущены (или заменены пробелами) без потери информации. [3] Поэтому в обычной десятичной записи целых чисел не используются ведущие нули, за исключением самого нуля , который в противном случае был бы обозначен как пустая строка . [4] Однако в десятичных дробях строго между -1 и 1 ведущие нули между десятичной запятой и первой ненулевой цифрой необходимы для передачи величины числа и не могут быть опущены. [1] а конечные нули — нули, стоящие после десятичной точки и после последней ненулевой цифры — могут быть опущены без изменения значения.
возникновение
[ редактировать ]Часто ведущие нули встречаются на неэлектронных цифровых дисплеях или на таких электронных, как семисегментные дисплеи , содержащие фиксированные наборы цифр. К таким устройствам относятся ручные счетчики, секундомеры , [5] одометры , [6] и цифровые часы . [5] Ведущие нули также генерируются многими старыми компьютерными программами при создании значений для присвоения новым записям, счетам и другим файлам и поэтому могут использоваться системами выставления счетов за коммунальные услуги, информационными системами кадров и правительственными базами данных. Многие цифровые камеры и другие устройства записи электронных носителей используют ведущие нули при создании и сохранении новых файлов, чтобы имена имели одинаковую длину.
Ведущие нули также присутствуют всякий раз, когда количество цифр фиксируется технической системой (например, в регистре памяти ), но сохраненное значение недостаточно велико, чтобы получить ненулевую старшую значащую цифру . [7] Операция подсчета ведущих нулей эффективно определяет количество битов ведущих нулей в машинном слове . [8]
Ведущие нули могут иметь свое значение по разным причинам:
- в данных, где по какой-либо причине требуется или ожидается стандартная длина данных, например, в таких идентификаторах, как Джеймс Бонд как 007.
- в тех случаях, когда цифра представляет собой не значение, а отличительный символ, например в телефонных номерах
- в числовых кодах, где значение цифр зависит от их положения
Ведущий ноль появляется в рулетке в США, где «00» отличается от «0» (ставка на «0» не выиграет, если шарик попадет в «00», и наоборот). Этому же следуют и виды спорта, в которых участники нумеруются; серийный автомобиль с номером «07» будет считаться отличным от автомобиля с номером «7». Бенито Сантьяго , ловец бейсбола Высшей лиги , который несколько лет носил номер 09, является единственным игроком крупной профессиональной спортивной лиги, который использовал номер на футболке с ведущим нулем, не считая нескольких, кто носил номер 00 (он носил лишний ноль). чтобы избежать осложнений с подушечками ловца, позволяя заднему ремню проходить между цифрами, а не по одной цифре 9). Деннис Родман запросил номер 01, когда присоединился к «Чикаго Буллз» (поскольку его обычный номер 10 уже был снят с производства), но Национальная баскетбольная ассоциация запретила это, и вместо этого Родман носил номер 91. [9]
В большинстве стран, кроме США, числа от 0 до 1, выраженные в виде десятичной дроби, включают ноль перед десятичной запятой (например, 0,64 или во многих странах 0,64), тогда как в США этот ноль часто опускается (. 64).
Преимущества
[ редактировать ]Сортировка
[ редактировать ]Ведущие нули используются для того, чтобы порядок чисел по возрастанию соответствовал алфавитному порядку : например, 11 идет в алфавитном порядке перед 2, но после 02. (См., например, ISO 8601. ) Однако это не работает с отрицательными числами , независимо от того, являются ли ведущие нули используется или нет: -23 идет в алфавитном порядке после -01, -1 и -22, хотя это меньше, чем все они.
Предотвращение ошибок
[ редактировать ]Ведущие нули в предложении также снижают вероятность того, что невнимательный читатель пропустит десятичную точку. Например, в современной фармации широко соблюдается правило, согласно которому ведущие нули перед десятичной запятой не должны опускаться ни в одной дозе или в значении дозировки при назначении лекарства (например, 0,2 мг необходимо использовать , а не 0,2 мг ). При этом нули в конце запрещены (например, 2 мг необходимо использовать , а не 2,0 мг ). В обоих случаях цель состоит в том, чтобы предотвратить неправильное прочтение и, как следствие, неправильную дозировку на один или несколько порядков . [10]
Предотвращение мошенничества
[ редактировать ]Ведущие нули также можно использовать для предотвращения мошенничества, заполняя позиции символов, которые обычно могут быть пустыми. Например, добавление начальных нулей к сумме чека ( или аналогичного финансового документа) затрудняет мошенникам изменение суммы чека перед предъявлением его к оплате.
Ноль как префикс
[ редактировать ]Префикс 0
используется в C для указания строкового представления восьмеричных чисел, как того требует стандарт ANSI C для strtol()
функция (которая преобразует строки в длинные целые числа) в <stdlib.h>
библиотека. [11] Многие другие языки программирования, такие как Python , Perl , Ruby , PHP и оболочка bash Unix, также следуют этой спецификации для преобразования строк в числа. В качестве примера: " 0020
" не представляет собой 20 10 ( 2 ×10 1 + 0 ×10 0 ), а скорее 20 8 = 16 10 ( 2 ×8 1 + 0 ×8 0 = 1 ×10 1 + 6 ×10 0 ). Десятичные числа, записанные с ведущими нулями, будут интерпретироваться как восьмеричные в языках, которые следуют этому соглашению, и будут генерировать ошибки, если они содержат «8» или «9», поскольку эти цифры не существуют в восьмеричном формате. Такое поведение может быть неприятным при работе с последовательностями строк со встроенными десятичными числами, дополненными нулями (обычно именами файлов), для облегчения сортировки по алфавиту (см. выше) или при проверке входных данных от пользователей, которые не знают, что добавление начального нуля вызывает это. базовая конверсия.
В Чехии нулевой префикс раньше использовался как один из способов обозначения типа номера дома. В качестве стандартных номеров домов используются номера призывных домов (čísla popisná). Однако для временных и рекреационных сооружений используется специальная номерная серия номеров регистрационных домов (čísla evidenční). Этот тип отличается любым префиксом (0, E или N), отличительным текстом или аббревиатурой или цветом знака.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ↑ Перейти обратно: Перейти обратно: а б Миллер, Джейн Э. (2008), Чикагское руководство по написанию чисел , University of Chicago Press, стр. 276, ISBN 9780226526324 .
- ^ Лафоре, Роберт В. (1987), Microsoft C: программирование для IBM , HW Sams, стр. 294 , ISBN 9780672225154 .
- ^ Зегарелли, Марк (2014), Учебное пособие по базовой математике и предварительной алгебре для чайников (2-е изд.), John Wiley & Sons, стр. 8, ISBN 9781118828304 .
- ^ Флинт, Клиф (2012), Tcl/Tk: Руководство разработчика , Elsevier, стр. 752–753, ISBN 9780123847171 .
- ↑ Перейти обратно: Перейти обратно: а б Грин, Дженнифер; Стеллман, Эндрю (2013), Head First C# , O'Reilly Media, Inc., стр. 770, ISBN 9781449358884 .
- ^ Дуек, Роберт; Рид, Кен (2011), Цифровая электроника , Cengage Learning, стр. 48, ISBN 9781133708964 .
- ^ Куц, Роман (1999), Век цифровой информации: введение в электротехнику , PWS Pub. Компания, с. 67 , ISBN 9780534953157 .
- ^ Дандамуди, Шиварама П. (2005), Руководство по RISC-процессорам: для программистов и инженеров , Springer, стр. 139, ISBN 9780387274461 .
- ^ Армор, Терри. Присоединение к Bulls «Почти как сборник рассказов» для бывшего выпускника школы Коллинза Брауна. Архивировано 4 июня 2015 года в Wayback Machine . 6 октября 1995 г.
- ^ Дэвис, Нил М. (2005). Медицинские сокращения: 26 000 удобств за счет связи и безопасности (12-е изд.). Уорминстер, Пенсильвания: Neil M. Davis Associates. п. 7. ISBN 0931431123 .
- ^ Керниган, Брайан ; Ричи, Деннис М. (март 1988 г.). Язык программирования C (2-е изд.). Энглвуд Клиффс, Нью-Джерси : Прентис Холл . п. 252. ИСБН 0-13-110362-8 .