Interested Article - Восьмеричная система счисления

Восьмери́чная систе́ма счисле́ния позиционная целочисленная система счисления с основанием 8 . Для представления чисел в ней используются цифры от 0 до 7 .

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

Восьмеричная система применяется при выставлении прав доступа к файлам и прав исполнения для участников в Linux -системах .

Таблица перевода восьмеричных чисел в двоичные

08  = 0002
18  = 0012
28  = 0102
38  = 0112
48  = 1002
58  = 1012
68  = 1102
78  = 1112

Для перевода восьмеричного числа в двоичное необходимо заменить каждую цифру восьмеричного числа на триплет двоичных цифр. Например: 2541 8 = [ 2 8 | 5 8 | 4 8 | 1 8 ] = [ 010 2 | 101 2 | 100 2 | 001 2 ] = 010101100001 2 .

Использование в естественных языках

Языки юки и паме используют восьмеричную систему счисления.

В языках программирования

Ряд языков программирования , в частности, Си / C++ , Ada , Perl , Java и Python (до 3.0), имеют специальный синтаксис (аналогичный использованию префикса "0x" для шестнадцатеричных констант) для записи восьмеричных констант с применением ведущего нуля , например, 0644 представляет собой запись литеральной константы с десятичным значением 420 10 .

По статистике, применение восьмеричных констант в программах на языке Си чрезвычайно низко (около 0,1 % от всех литеральных констант, без учета константы «0», технически также восьмеричной). Определенную популярность такие константы сохраняют в случае описания прав на файлы в Unix/POSIX стиле (0666, 0750), и при отдельных случаях работы с битовыми масками, когда программисту проще представлять битовое представление восьмеричных чисел, а не шестнадцатеричных или, тем более, десятичных .

Подобные правила указания системы счисления могут быть неочевидны для программистов и приводят к ошибкам. В некоторых языках существуют рекомендации не использовать такую запись , в других языках такая запись восьмеричных констант запрещена (например, в Python с версии 3 используется префикс 0o ) или не используется (например Rust и D ).

Некоторые версии языка Бейсик используют для записи восьмеричных констант префикс &O, например, &O644. Здесь O — это не ноль, а буква латинского алфавита , обозначающая английское слово Octal (восьмеричный).

Объединение двоичных разрядов в триплеты битов применялось системах команд и, как следствие, в языках ассемблера советских ЭВМ « Минск-22 », БК-0010 и БК-0011 , ДВК и других.

Источники

  1. . Дата обращения: 2 января 2015. Архивировано из 2 января 2015 года.
  2. . Дата обращения: 2 января 2015. 2 января 2015 года.
  3. Marcia Ascher. . The College Mathematics Journal. Дата обращения: 13 апреля 2007.
  4. Avelino, Heriberto. (англ.) // Linguistic Typology : journal. — 2006. — Vol. 10 , no. 1 . — P. 41—60 . — doi : . 4 июня 2011 года.
  5. от 11 июля 2018 на Wayback Machine / «The New C Standard: An Economic and Cultural Commentary» (version 1.2, 2009) (англ.)
  6. . Дата обращения: 2 октября 2018. 3 октября 2018 года.
  7. Florian Weber. (англ.) (8 апреля 2018). Дата обращения: 2 октября 2018. 16 декабря 2018 года.
  8. . Дата обращения: 2 октября 2018. 3 октября 2018 года.

Ссылки

Источник —

Same as Восьмеричная система счисления