Байт (октет) → бит , хранение и передача данных

Основы

Компьютерная память состоит из последовательности ячеек памяти (наименьших адресуемых единиц), обычно называемых байтами . Каждый байт идентифицируется и доступен в аппаратном и программном обеспечении по его адресу памяти . Если общее количество байтов в памяти равно n , то адреса нумеруются от 0 до n  — 1.

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

Еще одним важным атрибутом байта, являющегося частью «поля», является его «значение». Эти атрибуты частей поля играют важную роль в последовательности доступа к байтам аппаратным обеспечением компьютера, точнее: низкоуровневыми алгоритмами, влияющими на результаты компьютерной инструкции.

Числа

Позиционные системы счисления (в основном основание 10, основание 2 или основание 256 в случае 8-битных байтов) являются преобладающим способом представления целочисленных данных и, в частности, манипулирования ими с помощью компьютеров. В чистом виде это справедливо для средних размеров неотрицательных целых чисел, например , типа данных C . В такой системе счисления значение цифры, которую она вносит в целое число, определяется не только ее значением как одной цифры, но также позицией, которую она занимает в полном числе, называемой ее значением. Эти позиции могут быть отображены в памяти двумя способами:

  • уменьшение числового значения с увеличением адресов памяти (или увеличением времени), известное как big-endian и
  • возрастание числового значения с увеличением адресов памяти (или увеличением времени), известное как little-endian .

Целочисленные данные, которые напрямую поддерживаются аппаратным обеспечением компьютера, имеют фиксированную ширину малой мощности 2, например 8 бит 1 байт, 16 бит ≙ 2 байта, 32 бита ≙ 4 байта, 64 бита ≙ 8 байтов, 128 бит ≙ 16 байт. Последовательность низкоуровневого доступа к байтам такого поля зависит от выполняемой операции. Для сложения , вычитания и умножения в первую очередь обращаются к младшему байту . Для деления и первую очередь обращаются к старшему байту . См. .

Для чисел с плавающей точкой см. .

Текст

Когда символьные (текстовые) строки должны сравниваться друг с другом, например, для поддержки какого-либо механизма , такого как сортировка , это очень часто делается лексикографически, когда один позиционный элемент (символ) также имеет позиционное значение. Лексикографическое сравнение означает почти везде: первый символ занимает высшее место — как в телефонной книге.

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

Порядок байтов в памяти

Удобным средством демонстрации порядка байтов действии и объяснения разницы между прямым и обратным порядками является процесс хранения цифровых данных. Представьте, что мы используем 8-разрядный микроконтроллер. Всё аппаратное обеспечение в этом устройстве, включая ячейки памяти, предназначено для 8-битных данных. Таким образом, адрес 0x00 может хранить один байт, адрес 0x01 тоже хранит один байт, и так далее.

Эта схема показывает 11 байтов памяти, то есть 11 ячеек памяти, причем каждая ячейка хранит 8 бит данных

Допустим, мы решили запрограммировать этот микроконтроллер, используя компилятор C, который позволяет нам определять 32-разрядные (т.е. 4-байтовые) переменные

Компилятор должен хранить эти переменные в смежных ячейках памяти, но что не очень понятно, так это то, в самом младшем адресе памяти должен храниться наибольший значащий байт (most significant byte, MSB – обратите внимание на заглавную «B») или наименьший значащий байт (least significant byte, LSB)

Другими словами, должна ли система использовать порядок памяти от старшего к младшему (прямой порядок, big-endian) или от младшего к старшему (обратный порядок, little-endian)?

Хранение данных с прямым порядком и с обратным порядком. «D» относится к 32-разрядному слову данных, а номера индексов указывают на отдельные биты от MSb (D31) до LSb (D)

Здесь на самом деле нет правильного или неправильного ответа – любая договоренность может быть совершенно эффективной. Решение между прямым и обратным порядком может быть основано, например, на поддержании совместимости с предыдущими версиями данного процессора, что, конечно, поднимает вопрос о том, как инженеры приняли решение для первого процессора в этом семействе. Я не знаю; возможно, генеральный директор подбросил монету.

Файлы и файловые системы

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

Некоторые наборы инструкций ЦП обеспечивают встроенную поддержку замены байтов с порядком байтов, например ( x86 — и новее) и ( ARMv6 и новее).

Некоторые компиляторы имеют встроенные средства для обмена байтами. Например, Intel Fortran компилятор поддерживает нестандартное спецификатор при открытии файла, например: .

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

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

Обратите внимание, однако, что относительно просто написать программу на другом языке (таком как C или Python ), которая анализирует последовательные неформатированные файлы Fortran с «чужим» порядком байтов и преобразует их в «родной» порядок байтов путем преобразования из «чужого» порядка байтов, когда чтение записей и данных Fortran.

Текст Unicode может необязательно начинаться с метки порядка байтов (BOM), чтобы обозначить порядок байтов в файле или потоке. Его кодовая точка — U + FEFF. В UTF-32 , например, большой обратный порядок байт файла должен начинаться с ; прямой порядок байтов должен начинаться с .

Форматы двоичных данных приложения, такие как, например, файлы MATLAB .mat или формат данных .bil , используемые в топографии, обычно не зависят от порядка байтов. Это достигается за счет сохранения данных всегда с фиксированным порядком байтов или переноса с данными переключателя, указывающего на порядок байтов.

Примером первого случая является двоичный формат файла XLS , который переносится между системами Windows и Mac и всегда с прямым порядком байтов, оставляя приложение Mac заменять байты при загрузке и сохранять при работе на процессоре Motorola 68K или PowerPC с прямым порядком байтов. .

Файлы изображений TIFF являются примером второй стратегии, заголовок которой сообщает приложению о порядке байтов их внутренних двоичных целых чисел. Если файл начинается с подписи, это означает, что целые числа представлены с прямым порядком байтов, а означает — с прямым порядком байтов. Для каждой из этих подписей требуется одно 16-битное слово, и они являются палиндромами (то есть они читают одно и то же вперед и назад), поэтому они не зависят от порядка байтов. означает Intel и означает Motorola , соответствующих поставщиков процессоров для совместимых платформ IBM PC (Intel) и Apple Macintosh (Motorola) в 1980-х годах. Процессоры Intel имеют прямой порядок байтов, а процессоры Motorola 680×0 — прямой порядок байтов. Эта явная подпись позволяет программе чтения TIFF при необходимости обменивать байты, когда данный файл был создан программой записи TIFF, запущенной на компьютере с другим порядком байтов.

Как следствие своей первоначальной реализации на платформе Intel 8080, файловая система таблицы размещения файлов (FAT), не зависящая от операционной системы, определяется с прямым порядком байтов, даже на платформах, изначально использующих другой порядок байтов, что требует операций перестановки байтов для поддержания жир.

Комбинированная файловая система ZFS / OpenZFS и менеджер логических томов, как известно, обеспечивают адаптивный порядок байтов и работают как с прямым, так и с прямым порядком байтов.

Использует

Эти процессоры обычно не действуют на каждом бите индивидуальны, а группы бит. Практика проектирования оборудования для обработки восьмерок или кратных восьми битов получила широкое распространение с 1970-х годов, настолько, что сегодня байт и его кратные числа обычно используются в качестве меры. Емкость памяти компьютера  : оперативная память , дискета , жесткий диск , CD-ROM и  т. д. Размер файла также измеряется в байтах (чаще всего с обычными двоичными кратными).

Скорость передачи компьютерных шин между компьютерными приложениями и периферийными устройствами локального компьютера обычно указывается в байтах в секунду (со стандартизованными кратными; см. Ниже). Но скорости в сетях или средах передачи данных выражаются скорее:

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

Биты и байты

Примеры преобразования битов в байты (без стандартизации IEC):

  • 8 бит = 1 байт
  • 1 килобит = 1000 бит = 125 байт
  • 1 кибибит = 1024 бит = 128 байт
  • 512 кибибит = 524 288 бит = 65 536 байт = 64 кибибита (65 536 байт / 1024).
  • 1 мебибит = 1 048 576 бит = 131 072 байта = 128 кибибайт (131 072 байта / 1024).
  • 10 мебибитов = 10 485 760 бит = 1310 720 байтов = 1,25 мебибитов (1310 720 байтов / 1024  2 )
  • 100 мебибит = 104 857 600 бит = 13 107 200 байт = 12,5 мебибит (13 107 200 байт / 1024  2 )

Слова

Когда обработка выполняется одновременно с несколькими байтами, в частности с двумя байтами (16 бит) и четырьмя байтами ( 32 бита ), мы иногда говорим о слове и двойном слове или же о полуслове и слове. Значение этих терминов имеет тенденцию меняться в зависимости от контекста, в частности потому, что в терминологии языков ассемблера для процессоров «слово» часто обозначает количество информации во всем регистре вычислений для элементарной операции, причем это количество может быть также зависят от режима адресации, используемого процессором во время выполнения (или традиций программирования для данной операционной системы ), поэтому использовать их не рекомендуется.

Термины «дублет» (16 бит), «квадлет» ( 32 бита ) и «октлет» ( 64 бита ) иногда используются затем, чтобы устранить любую двусмысленность .

Битовый порядок байтов

Нумерация битов — это концепция, аналогичная порядку байтов, но на уровне битов, а не байтов. Порядок следования битов или порядок следования битов на уровне битов относится к порядку передачи битов по последовательной среде. Битовый аналог little-endian (младший бит идет первым) используется в RS-232 , HDLC , Ethernet и USB . Некоторые протоколы используют обратный порядок (например, телетекст , I 2 C , SMBus , PMBus и SONET и SDH ). Обычно существует согласованное представление битов независимо от их порядка в байте, так что последний становится актуальным только на очень низком уровне. Одно исключение вызвано функцией некоторых циклических проверок избыточности для обнаружения всех пакетных ошибок до известной длины, которая будет испорчена, если порядок битов отличается от порядка байтов при последовательной передаче.

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

Функции замены

Простая замена

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

Она заменяет любое вхождение old в вашей строке на new. Если значение n равно -1, то будут заменены все вхождения. Эта функция очень хорошо подходит, если нужно заменить простое слово по шаблону. Например, вы можете позволить пользователю использовать шаблон «$NOW» и заменить его на текущее время:

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

Замена регистра

Вы можете полагать, что работа с регистрами это просто — нижний и верхний, всего-то делов — но Go работает с Unicode, а Unicode никогда не бывает прост. Есть три типа регистров: верхний, нижний и заглавный регистры.

Верхний и нижний довольно просты для большинства языков, и достаточно использовать функции и :

Но, в некоторых языках правила регистров отличаются от общепринятых. К примеру, в турецком языке, i в верхнем регистре выглядит как İ. Для таких специальных случаев, есть специальные версии этих функций:

Далее, у нас есть ещё заглавный регистр и функция :

Наверное вы очень удивитесь, когда увидите что переведёт все ваши символы в верхний регистр:

Это потому, что в Unicode заглавный регистр является специальным видом регистра, а не написанием первой буквы в слове в верхнем регистре. В большинстве случаев, заглавный и верхний регистр это одно и тоже, но есть несколько code point-ов, в которых это не так. Например, code point lj (да, это один code point) в верхнем регистре выглядит как LJ, а в заглавном — Lj.

Функция, которая вам нужна в этом случае, это, скорее всего, :

Её вывод будет более похож на правду:

Маппинг рун

Есть ещё один способ замены данных в слайсах байт и строках — функция :

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

Зачем нам нужен порядок байтов

Несмотря на сатирическую трактовку Коэном борьбы «big endians» (прямого порядка, от старшего к младшему) против «little endians» (обратного порядка, от младшего к старшему), вопрос о порядке байтов на самом деле очень важен для нашей работы с данными.

Блок цифровой информации – это последовательность единиц и нулей. Эти единицы и нули начинаются с наименьшего значащего бита (least significant bit, LSb – обратите на строчную букву «b») и заканчиваются на наибольшем значащем бите (most significant bit, MSb).

Это кажется достаточно простым; рассмотрим следующий гипотетический сценарий.

32-разрядный процессор готов к сохранению данных и, следовательно, передает 32 бита данных в соответствующие 32 блока памяти. Этим 32 блокам памяти совместно назначается адрес, скажем 0x01. Шина данных в системе спроектирована таким образом, что нет возможности смешивать LSb с MSb, и все операции используют 32-битные данные, даже если соответствующие числа могут быть легко представлены в 16 или даже 8 битами. Когда процессору требуется получить доступ к сохраненным данным, он просто считывает 32 бита с адреса памяти 0x01. Эта система является надежной, и нет необходимости вводить понятие порядка байтов.

Возможно, вы заметили, что слово «байт» в описании этого гипотетического процессора нигде не упоминалось. Всё основано на 32-битных данных – зачем нужно делить эти данные на 8-битные части, если всё оборудование предназначено для обработки 32-битных данных? Вот здесь-то теория и реальность расходятся. Реальные цифровые системы, даже те, которые могут напрямую обрабатывать 32-битные или 64-битные данные, широко использую 8-битный сегмент данных, известный как байт.

Общее использование

Многие языки программирования определяют байт типа данных .

В языках программирования C и C ++ байт определяется как « адресуемая единица хранения данных, достаточно большая, чтобы вместить любой член базового набора символов среды выполнения » (пункт 3.6 стандарта C). Стандарт C требует, чтобы интегральный тип данных unsigned char содержал как минимум 256 различных значений и был представлен как минимум восемью битами (пункт 5.2.4.2.1). Различные реализации C и C ++ резервируют 8, 9, 16, 32 или 36 бит для хранения байта. Кроме того, стандарты C и C ++ требуют, чтобы между двумя байтами не было промежутков. Это означает, что каждый бит в памяти является частью байта.

В Java примитивного типа данных байты определяются как восемь бит. Это тип данных со знаком, содержащий значения от -128 до 127.

В языках программирования .NET, таких как C #, байт определяется как беззнаковый тип, а sbyte — как подписанный тип данных, содержащие значения от 0 до 255 и от –128 до 127 соответственно.

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

Пример

Пример порядка байтов

С прямым порядком байтов

Little-endian

Эти две диаграммы показывают, как два компьютера, использующие разный порядок байтов, хранят 32-битное (четырехбайтовое) целое число со значением 0x0A0B0C0D . В обоих случаях целое число разбивается на четыре байта, 0x0A , 0x0B , 0x0C и 0x0D , и байты сохраняются в четырех последовательных байтовых ячейках в памяти, начиная с ячейки памяти с адресом a , затем a + 1 , a + 2 и а + 3 . Разница между старшим и младшим порядком байтов заключается в порядке сохранения четырех байтов целого числа.

На левой диаграмме показан компьютер с прямым порядком байтов. При этом начинается сохранение целого числа с наиболее значимым байтом 0x0A по адресу a и заканчивается наименьшим байтом 0x0D по адресу a + 3 .

На правой диаграмме показан компьютер с прямым порядком байтов. Это начинает сохранение целого числа с наименьшим значащим байтом, 0x0D , по адресу a , и заканчивается самым значимым байтом, 0x0A , по адресу a + 3 .

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

Исторический

Количество бит, которое процессор должен потреблять для выполнения машинной инструкции , называется словом , его размер определяется конструктором. В первые дни вычислительной техники количество процессоров было ограниченным, поэтому они употребляли это слово небольшими порциями, соответствующими количеству битов на шине данных . Таким образом, термин Byte был придуман в 1956 году Вернером Бухгольцем, когда он работал над дизайном IBM Stretch . Это преднамеренное искажение английского слова bite , буквально «укус», чтобы избежать путаницы с битом путем исключения последнего
e.

Байт был также блок памяти для хранения символа. В английском языке слово « char  » ( сокращение от символа ) часто используется для  обозначения «  байта  », и наоборот. Каждый конструктор определяет размер байта в соответствии со своими текущими потребностями. В 1950-х и 1960-х годах байт часто состоял из 6 бит, потому что все символы, необходимые для программирования на английском языке, можно было закодировать шестью битами (64 варианта). Байты также могут быть 9 бит в размерах на других системах. PDP-10 имела еще одно определение байта с переменным размером, в пределах от 1 до 36 бит в зависимости от машинной команды для выполнения.

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

Сегодня для мультимедиа словарь — Аудиовизуальное, IT, телекоммуникации из AFNOR , то байт это «информационный блок , соответствующий одному из байте 8 бит.» Стандартизация IEC 80000-13 идет в том же направлении: стандартизировать размер байтов до 8 бит. Именно из-за этой 8-битной «нормализации» возникает путаница.

Однако, как в английском, так и во французском языках, если мы хотим явно обозначить количество в восемь бит, мы используем слово «  октет  »; в то время как, если мы хотим выразить адресную единицу независимо от количества бит, мы используем слово «  байт  ». Таким образом, формальное описание языка программирования будет сознательно использовать слово « байт», если язык не требует, чтобы байт был размером в один байт . Это, например, случай языка C , где байт может содержать более восьми бит. Слово «октет» сознательно используется во французском языке, как и в английском, для описания формата данных с точностью до бита. Таким образом, мы находим слово «байт» в английском тексте как RFC  793, который описывает протокол связи TCP с Интернетом , или в стандарте H.263, который описывает стандарт кодирования цифрового видео.

Таким образом, такое же различие между «  байтом  » и «байтом» существует в обоих языках, только слово, которое обычно используется в случаях, когда байт измеряет восемь битов, изменяется.

Примечания и ссылки

Заметки

  1. См. Запись «неправильное использование» в Викисловаре .
  2. См. Статью о бинарных префиксах
  3. См. Также статью Двоичная система .

Рекомендации

  1. ↑ и и определения «октета» (означающего B) Компьютеризированной сокровищницы французского языка на веб-сайте Национального центра текстовых и лексических ресурсов
  2. AFNOR  : Мультимедийный словарь — Аудиовизуальные, ИТ, телекоммуникации , 1996, с. 135.
  3. Международное бюро мер и весов , Международная система единиц (СИ) , Севр, BIPM,2019 г., 9- е  изд. , 216  с. , гл.  3 («Десятичные и дольные единицы единиц СИ»), стр.  31 год.
  4. См. Текст Двоичный префикс: Правовые споры   .
  5. .

Этимология и история

Термин « байт» был придуман Вернером Бухгольцем в июне 1956 года на ранней стадии разработки компьютера IBM Stretch , который имел адресацию к командам битов и переменной длины поля (VFL) с размером байта, закодированным в инструкции. Это намеренное respelling от укуса , чтобы избежать случайной мутации к биту .

Другое происхождение байтов для групп битов, меньших размера слова компьютера, и в частности групп из четырех битов , зафиксировано Луисом Дж. Дули, который утверждал, что придумал этот термин во время работы с Жюлем Шварцем и Диком Билером над системой противовоздушной обороны. называлась SAGE в лаборатории Линкольна Массачусетского технологического института в 1956 или 1957 году и была разработана совместно Rand , MIT и IBM. Позже в языке Шварца JOVIAL фактически использовался этот термин, но автор смутно напомнил, что он произошел от AN / FSQ-31 .

Ранние компьютеры использовали различные четырехбитные двоично-десятичные представления (BCD) и шестибитные коды для печатных графических шаблонов, распространенных в армии США ( FIELDATA ) и военно-морском флоте . Эти представления включали буквенно-цифровые символы и специальные графические символы. Эти наборы были расширены в 1963 году до семи битов кодирования, названного Американским стандартным кодом для обмена информацией (ASCII) в качестве федерального стандарта обработки информации , который заменил несовместимые коды телетайпов, используемые различными ветвями правительства США и университетами в 1960-х годах. . ASCII включает различение букв верхнего и нижнего регистра и набор управляющих символов для облегчения передачи письменного языка, а также функций устройства печати, таких как перемещение страницы и перевод строки, а также физическое или логическое управление потоком данных во время передачи. СМИ. В начале 1960-х, будучи также активным в стандартизации ASCII, IBM одновременно представила в своей линейке продуктов System / 360 восьмибитовый расширенный двоично-десятичный код обмена (EBCDIC), расширение их шестибитного двоично-десятичного кода (BCDIC). ) представления, использованные в более ранних перфорациях карт. Известность System / 360 привела к повсеместному внедрению восьмибитного размера памяти, в то время как в деталях схемы кодирования EBCDIC и ASCII различаются.

В начале 1960-х годов AT&T представила цифровую телефонию на междугородних магистральных линиях . Они использовали восьмибитное кодирование по закону μ . Эти крупные вложения обещали снизить затраты на передачу восьмибитных данных.

Разработка восьмиразрядных микропроцессоров в 1970-х годах способствовала популяризации такого размера памяти. Микропроцессоры, такие как Intel 8008 , прямой предшественник и , использовавшиеся в ранних персональных компьютерах, также могли выполнять небольшое количество операций с четырехбитными парами в байте, например, десятичное добавление-регулировка ( DAA) инструкция. Некоторое количество четырех бит часто называют полубайт , также Nybble , который удобно представлен одной шестнадцатеричной цифрой.

Термин октет используется для однозначного определения размера в восемь бит. Он широко используется в определениях протоколов .

Исторически термин « октад» или « октад» также использовался для обозначения восьми битов, по крайней мере, в Западной Европе; однако это использование больше не является обычным явлением. Точное происхождение этого термина неясно, но его можно найти в британских, голландских и немецких источниках 1960-х и 1970-х годов, а также в документации по мэйнфреймам Philips .

Заключение

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector