WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Системы счисления в культуре
Индо-арабская
Арабская
Тамильская
Бирманская
Кхмерская
Лаосская
Монгольская
Тайская
Восточноазиатские
Китайская
Японская
Сучжоу
Корейская
Вьетнамская
Счётные палочки
Алфавитные
Абджадия
Армянская
Ариабхата
Кириллическая
Греческая
Грузинская
Эфиопская
Еврейская
Акшара-санкхья
Другие
Вавилонская
Египетская
Этрусская
Римская
Дунайская
Аттическая
Кипу
Майяская
Эгейская
Символы КППУ
Позиционные
2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 60
Нега-позиционная
Симметричная
Смешанные системы
Фибоначчиева
Непозиционные
Единичная (унарная)

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

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

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

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

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

Для перевода восьмеричного числа в двоичное необходимо заменить каждую цифру восьмеричного числа на триплет двоичных цифр. Например: 25418 = [ 28 | 58 | 48 | 18 ] = [ 0102 | 1012 | 1002 | 0012 ] = 0101011000012.

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

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

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

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

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

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


Источники

  1. Права доступа к файлам в ОС GNU/Linux (числовой способ записи) (недоступная ссылка). Проверено 2 января 2015. Архивировано 2 января 2015 года.
  2. Права доступа. Проверено 2 января 2015.
  3. Marcia Ascher. Ethnomathematics: A Multicultural View of Mathematical Ideas. The College Mathematics Journal. Проверено 13 апреля 2007.
  4. Avelino, Heriberto (2006). “The typology of Pame number systems and the limits of Mesoamerica as a linguistic area” (PDF). Linguistic Typology. 10 (1): 41—60. DOI:10.1515/LINGTY.2006.002.
  5. 829 An octal constant consists of the prefix 0 / «The New C Standard: An Economic and Cultural Commentary» (version 1.2, 2009) (англ.)
  6. INT00-PL. Do not prepend leading zeroes to integer literals - SEI CERT Perl Coding Standard - Confluence
  7. 1 2 Florian Weber. Octal Zero considered harmful (англ.) (8.4.2018). Проверено 2 октября 2018.
  8. Numbers — Conservative Python 3 Porting Guide 1.0 documentation

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии