Что такое порядок информатика
Порядок байтов
Поря́док ба́йтов — метод записи байтов многобайтовых чисел в информатике.
В общем случае, для представления числа M, большего 255 (здесь — максимальное целое число, записываемое одним октетом), приходится использовать несколько байтов-октетов. При этом число M записывается в позиционной системе счисления по основанию 256:
Набор целых чисел , каждое из которых лежит в интервале от 0 до 255, является последовательностью байтов, составляющих M. При этом
называется младшим байтом, а
— старшим байтом числа M.
Содержание
Варианты записи
Порядок от старшего к младшему
В этом же виде (используя представление в десятичной системе счисления) записываются числа индийско-арабскими цифрами в письменностях с порядком знаков слева направо (латиница, кириллица). Для письменностей с обратным порядком (арабская) та же запись числа воспринимается как «от младшего к старшему».
Порядок байтов от старшего к младшему применяется во многих форматах файлов — например, PNG, FLV, EBML.
Порядок от младшего к старшему
В противоположность «тупоконечному» порядку, меньше [источник не указан 580 дней] кросс-платформенных протоколов и форматов данных с «остроконечным» порядком байт; заметные исключения: USB, конфигурация PCI, таблица разделов GUID, рекомендации FidoNet.
Переключаемый порядок
Смешанный порядок
Смешанный порядок байтов (англ. middle-endian) иногда используется при работе с числами, длина которых превышает машинное слово. Число представляется последовательностью машинных слов, которые записываются в формате, естественном для данной архитектуры, но сами слова следуют в обратном порядке.
Классический пример middle-endian — представление 4-байтных целых чисел на 16-битных процессорах семейства PDP-11 (известен как PDP-endian). Для представления двухбайтных значений (слов) использовался порядок little-endian, но 4-хбайтное двойное слово записывалось от старшего слова к младшему.
В процессорах VAX и ARM используется смешанное представление для длинных вещественных чисел.
Пример
Далее приведён пример, в котором описывается размещение 4-байтового числа в ОЗУ ЭВМ, доступ к которому может производиться как к 32-разрядному слову, так и побайтно.
Все числа записаны в 16-ричной системе счисления.
Представление | D4*0x01 + C3*0x100 + B2*0x10000 + A1*0x1000000 | |
Порядок от младшего к старшему | (little-endian) | 0xD4, 0xC3, 0xB2, 0xA1 |
Порядок от старшего к младшему | (big-endian) | 0xA1, 0xB2, 0xC3, 0xD4 |
Порядок, принятый в PDP-11 | (PDP-endian) | 0xB2, 0xA1, 0xD4, 0xC3 |
Сравнение
Существенным достоинством little-endian по сравнению с big-endian порядком записи считается возможность «неявной типизации» целых чисел при чтении меньшего объёма байт (при условии, что читаемое число помещается в диапазон). Так, если в ячейке памяти содержится число 0x00000022, то прочитав его как int16 (два байта) мы получим число 0x0022, прочитав один байт — число 0x22. Однако, это же может считаться и недостатком, потому что провоцирует ошибки потери данных.
Обратно, считается что у little-endian, по сравнению с big-endian есть «неочевидность» значения байтов памяти при отладке (последовательность байтов (A1, B2, C3, D4) на самом деле значит 0xD4C3B2A1, для big-endian эта последовательность (A1, B2, C3, D4) читалась бы «естественным» для арабской записи чисел образом: 0xA1B2C3D4). Наименее удобным в работе считается middle-endian формат записи; он сохранился только на старых платформах.
Для записи длинных чисел (чисел, длина которых существенно превышает разрядность машины) обычно предпочтительнее порядок слов в числе little-endian (поскольку арифметические операции над длинными числами производятся от младших разрядов к старшим). Порядок байтов в слове — обычный для данной архитектуры.
Проблемы совместимости
Запись многобайтового числа из памяти компьютера в файл или передача по сети требует соблюдения соглашений о том, какой из байтов является старшим, а какой младшим. Прямая запись ячеек памяти приводит к возможным проблемам при переносе приложения с платформы на платформу.
Определение порядка байтов
Порядок байтов в конкретной машине можно определить с помощью программы на языке Си (testendian.c):
Результаты запуска на big-endian машине (SPARC):
Результаты запуска на little-endian машине (x86):
Вещественные числа
Хранение вещественных чисел может зависеть от порядка байт; так, на x86 используются форматы IEEE 754 со знаком и порядком числа в старших байтах.
Юникод
Если Юникод записан в виде UTF-16 или UTF-32, то порядок байтов является существенным. Одним из способов обозначения порядка байтов в юникодовых текстах является постановка в начале специального символа BOM (byte order mark, U+FEFF) — «перевёрнутый» вариант этого символа (U+FFFE) не существует и не допускается в текстах.
Конвертация
В случае совпадения текущего порядка байтов и сетевого, функции могут быть «пустыми» (то есть, не менять порядка байтов). Стандарт также допускает, чтобы эти функции были реализованы макросами.
Существует много языков и библиотек со средствами конвертации в оба основных порядка байт и обратно.
Ядро Linux: le16_to_cpu(), cpu_to_be32(), cpu_to_le16p(), и так далее;
Ядро FreeBSD: htobe16(), le32toh(), и так далее;
данные примеры для Erlang, Python, Perl содержат идентичную функциональность.
Этимология названия
Термины big-endian и little-endian первоначально не имели отношения к информатике. В сатирическом произведении Джонатана Свифта «Путешествия Гулливера» описываются вымышленные государства Лилипутия и Блефуску, в течение многих лет ведущие между собой войны из-за разногласия по поводу того, с какого конца следует разбивать варёные яйца. Тех, кто считает, что их нужно разбивать с тупого конца, в произведении называют Big-endians («тупоконечники»). Споры между сторонниками big-endian и little-endian в информатике также часто носят характер т. н. «религиозных войн». [2]
Термины big-endian и little-endian ввёл Коэн (англ. Danny Cohen ) в 1980 году в своей статье «On Holy Wars and a Plea for Peace». [3] [4]
См. также
Примечания
Ссылки
Полезное
Смотреть что такое «Порядок байтов» в других словарях:
обратный порядок байтов — Способ хранения и обмена данными в сети, при котором сначала передается самый младший байт, а затем остальные в порядке, обратном их размещению в блоке данных. [Л.М. Невдяев. Телекоммуникационные технологии. Англо русский толковый словарь… … Справочник технического переводчика
Порядок байт — Порядок байтов в информатике метод записи байтов многобайтовых чисел. В общем случае, когда нужно компактно записать число, большее 255 (28 − 1 = 255 максимальное целое число, записываемое одним байтом (октетом)) необходимо использовать… … Википедия
порядок следования байтов — Под этим термином понимается порядок хранения байтов в машинном слове (или двойном слове). Порядок может быть «прямым» (т.е. 32 битовое число хранится так 0x12345678) и тогда говорят «big endianness» (на отечественном жаргоне… … Справочник технического переводчика
прямой порядок (следования) байтов — Формат для хранения и передачи двоичных данных, при которой старший (наиболее значимый бит (или байт) передается сначала. Обратное преобразование называется little endian. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом EN … Справочник технического переводчика
UTF-16 — (англ. Unicode Transformation Format) в информатике один из способов кодирования символов из Unicode в виде последовательности 16 битных слов. Данная кодировка позволяет записывать символы Юникода в диапазонах U+0000..U+D7FF и… … Википедия
UCS-4 — Юникод, или Уникод (англ. Unicode) стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium,… … Википедия
UNICODE — Юникод, или Уникод (англ. Unicode) стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium,… … Википедия
UTF-32LE — Юникод, или Уникод (англ. Unicode) стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium,… … Википедия
UTF-32 Little Endian — Юникод, или Уникод (англ. Unicode) стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium,… … Википедия
Что такое мантисса и порядок в информатике
Содержание статьи
Значение мантиссы
Мантисса – одна из частей числа, которое представлено форматом с плавающей точкой. Второй частью этого числа является показатель степени. По сути, это дробная составляющая логарифма.
Значение мантиссы в том, что по ней находится число, которое является источником логарифма. Целая часть показывает только степень десяти или тривиальный множитель, тогда как сама мантисса показывает, какое именно число должно быть умножено на тривиальный множитель, который имеет вид 0,001 или 100.
Экспоненциальная запись представляет это в следующем виде: N = M*n^p, где мантиссой является M. Для примера можно взять число 3600 и представить его в экспоненциальной записи. Получится следующее: 3600 = 3,6*10^3. Учитывая вышесказанное, мантиссой будет являться число 3,6.
Важно понимать, что число, имеющее плавающую запятую, также имеет изменяющуюся абсолютную точность и фиксированную относительную точность. Использование чисел с плавающей запятой лучше, чем представление чисел с фиксированной запятой, так как есть возможность применения большого диапазона значений, тогда как относительная точность не меняется. Это поможет понять следующий пример: форма, имеющая фиксированную запятую, позволяет представить число, которое занимает 2 разряда после запятой и 8 разрядов в целой части, в виде 8765,43; 123456,78 и так далее. Если же брать формат, имеющий плавающую запятую, можно произвести следующую запись: 1,2345678; 0,000012345678 и так далее. Однако для того, чтобы так сделать, важно иметь двухразрядное дополнительное поле, позволяющее записать показатели степени 10, начиная от 0 и кончая 1610. Общее число разрядов составит 10, то есть 8+2.
Мантисса, как для отрицательных, так и для положительных чисел, выражается в прямом коде. Различие в знаке будет отражено лишь в значении знакового разряда. Однако мантисса числа не может превышать единицы. Обычно точка в мантиссе располагается с левой стороны от старшего разряда. Для того, чтоб получить истинное значение числа, нужно умножить мантиссу на 16 в степени порядка. Порядок, полученный этим путем, называется характеристикой. Получается, что характеристика, которая отсчитывается от 64, будет всегда положительной.
В нормальной записи мантисса числа — всегда правильная дробь. Ее запись в ячейку производится так же, как запись числа с запятой в ячейку машины. Запятая фиксируется перед первым разрядом цифрового вида.
Мантисса числа, имеющая плавающую запятую, выражается шестнадцатеричными цифрами, при этом запятая располагается слева от самой высокой цифры мантиссы
Форма мантиссы
Есть две формы, позволяющие понять место применения мантиссы. Первая — нормальная форма числа. Эта форма, которая имеет мантиссу без учета знака на полуинтервале, то есть [0; 1) (0le a
Число с плавающей запятой состоит из:
* Мантиссы (выражающей значение числа без учёта порядка)
* Знака мантиссы (указывающего на отрицательность или положительность числа)
* Порядка (выражающего степень основания числа, на которое умножается мантисса)
* Знака порядка
[править] Нормальная форма и нормализованная форма
Что ты хочешь узнать?
Ответ
Нормализация мантиссы позволяет сэкономить один разряд в ее двоичном представлении. В обоих случаях заранее известно, что первый значащий разряд равен единице, поэтому его можно не хранить. Иногда это называется использованием неявного старшего бита.
Нормализация мантиссы результата независимо от режима не выполняется.
Нормализация мантиссы результата заключается в повторении операции сдвига мантиссы на один десятичный разряд с обнулением младшего разряда, а также в уменьшении порядка на единицу до тех пор, пока в знаковом разряде К2 ( Д9) не будет находиться наибольшая значащая цифра мантиссы. При переполнении разрядной сетки в области мантиссы выполнение этой процедуры может привести к переполнению разрядной сетки в области порядка.
00111001000100100000000000000000 – нули слева убираем:
111001000100100000000000000000 – нормализуем мантиссу:
1.11001000100100000000000000000 х 2^29.
Что такое порядок информатика
Форма записи числа с фиксированной точкой точно определяет положение точки между целой и дробной частью. Запись числа с фиксированной точкой обычно имеет знаковый и цифровой разряды. Фиксированная точка означает, что на этапе конструирования было определено, сколько и какие разряды машинного слова отведены под изображение целой и дробной частей числа. Точка в разрядкой сетке может быть зафиксирована, в принципе, после любого разряда.
Как частный случай числа с фиксированной точкой может быть рассмотрена запись целого числа (в этом случае все разряды, кроме знакового, используются для записи целой части). К достоинствам использования чисел с фиксированной точкой относятся простота выполнения арифметических операций и высокая точность изображения чисел. К недостаткам — небольшой диапазон представления чисел.
Для представления чисел с плавающей точкой (ЧПТ) используется следующая форма записи числа:
где q — основание системы счисления, p — порядок числа, m — мантисса числа N, представляющая собой правильную положительную дробь.
Для установления однозначности при записи чисел введем ограничение — в первом разряде мантиссы стоит отличная от нуля цифра.
Рассмотрим примеры представления чисел в нормализованной форме.
Представление чисел в нормализованной форме для десятичной системы счисления не вызывает затруднений, что касается представления двоичных чисел, то необходимо помнить, что порядок числа — двоичное число. Например, число 10111.01 2 имеет порядок, равный 5 (10111) в десятичной системе, но в двоичной —5 10 = 101 2
Для представления чисел в машинном слове выделяют группы разрядов для изображения мантиссы, порядка, знака порядка и знака числа (рис. 2.41). В этом случае машинное слово делится на два основных поля. В одном записывается мантисса числа, во втором — указывается порядок числа.
Таким образом, числа с плавающей точкой позволяют увеличить диапазон обрабатываемых чисел по сравнению с диапазоном чисел с фиксированной точкой. Однако быстродействие компьютера при обработке чисел с плаваю щей точкой гораздо ниже, чем при обработке чисел с фиксированной точкой.
Представление чисел в компьютере
После того, как мы узнали об основных единицах для измерения информации необходимо разобраться с тем, как в ЭВМ хранятся различные типы данных. В этой статье мы поговорим про представление чисел в компьютере.
Основные понятия и положения
Прежде чем начать разбираться в теме, следует понимать, что все ЭВМ, на данный момент времени, работают с двоичной системой счисления. Это значит, что и вся информация (звуковая, графическая или текстовая) хранится в памяти ПК в виде последовательностей нулей и единиц.
Схематично компьютерная память выглядит так, как показано на схеме ниже:
Как видно из рисунка внутренняя память представляет собой разряды, каждый из которых содержит один бит информации (0 или 1). А восемь битовых кластеров образуют один байт (машинное слово).
Машинное слово – минимально адресуемая ячейка памяти, которую за раз можно обработать командой процессора. То есть минимально процессор может обработать один байт.
Отсюда также вытекает правило, что данные в компьютере представляются дискретно (отдельно). В качестве примера приведем изображение на мониторе. Оно состоит из точек (пикселей). Цвет же каждой точки задается последовательностью из 0 и 1.
Представление чисел в компьютере
Существует несколько вариантов для отображения чисел в ЭВМ, и зависят они от формата числа.
Представление целых чисел в ЭВМ
Для представления целых чисел, в вычислительных машинах существует несколько способов, которые используют 8,16, 24 или 32 разряда памяти (1, 2, 3 и 4 байта).
Первым способом является беззнаковое представление. С его помощью представляются только целые положительные величины, которые не участвуют в арифметических операциях и выступают в роли констант (дата, время и т.д.).
Чтобы представить число в беззнаковой форме необходимо перевести его в двоичную систему счисления и дополнить с начала нулями до нужной разрядности (дополняем до 1,2,3 или 4 байт).
Также следует отметить, что есть ограничения на количество чисел, которые можно представить в n разрядной ячейке. Для беззнаковых величин оно составляет \( 2^n \).
Пример: Перевести 54 в беззнаковый формат.
Находим представление 54 в бинарной системе счисления:
\( 1) \ 54:2 \ = \ 27 \ | \ Остаток \ 0 \)
\( 2) \ 27:2 \ = \ 13 \ | \ Остаток \ 1 \)
\( 3) \ 13:2 \ = \ 6 \ | \ Остаток \ 1 \)
\( 4) \ 6:2 \ = \ 3 \ | \ Остаток \ 0 \)
\( 5) \ 3:2 \ = \ 1 \ | \ Остаток \ 1 \)
Итого \( 54_ <10>\) равняется \( 110110_ <2>\).
Дополняем результат до одной из стандартных разрядностей (8 бит) = 00110110.
Ответ: 00110110.
Для представления чисел, которые участвуют в вычислительных операциях, используется представление со знаком. В такой форме записи старший разряд всегда отводится под знак (0 для положительных чисел и 1 для отрицательных).
В случае со знаковым представлением также существуют ограничения. Так как один разряд отводится под знак, то в n-разрядную ячейку можно записать \( (2^
Также следует отметить следующую особенность — все отрицательные значения в компьютере хранятся в обратном или дополнительном коде, а положительные в прямом.
Для того чтобы перевести число в обратный и дополнительный код вам надо:
Почему же для хранения отрицательных чисел используют обратный или дополнительный код? Это позволяет изменить операцию вычитания на операцию сложения. В противном случае компьютеру бы каждый раз приходилось выяснять, где положительная величина, а где отрицательная и после этого сравнивать их модули, для определения конечного знака, что очень сильно усложняло бы весь алгоритм.
Представление вещественных чисел
Всего существует два способа для представления множества вещественных значений – естественная или экспоненциальная форма.
В жизни мы пользуемся естественной формой. Так число 42,6 мы можем записать несколькими способами. Например:
В компьютере же используется экспоненциальная форма записи. Выглядит она так:
Здесь m – мантисса, которая представляет собой правильную дробь (в правильных дробях числитель меньше знаменателя).
q – система счисления, в которой представлено число.
P – порядок.
В ЭВМ отводится один разряд под знак мантиссы, один под знак порядка и различное число бит под саму мантиссу и порядок. Данный формат записи называется «С плавающей запятой».
Чем больше бит отводится под мантиссу, тем точнее представляемая величина, чем больше ячеек отводится под порядок, тем шире диапазон от наименьшего числа, до наибольшего числа, представляемого в компьютере при заданном формате.
Так как компьютерная память величина дискретная и конечная, то и множество вещественных чисел, с которым работает ЭВМ также конечно.
Видео
Заключение
Вот мы и разобрались с представлением чисел в компьютере и информатике. Краткий материал из данной статьи вы можете использовать для своей онлайн-презентации. При возникновении вопросов оставляйте их в комментариях.
Логические операции в информатике — виды, последовательность и примеры выполнения
Информатика — наука, которая изучает структуру, способы передачи данных, связанные с применением электронно-вычислительных машин (ЭВМ). Для утверждения свойств объектов используются высказывания. Они могут быть ложными (неверными) либо истинными (верными). К основным логическим операциям в информатике относятся: инверсия, конъюнкция, дизъюнкция.
Методы вычисления
Логика выражений необходима для строения составных высказываний. Они состоят из простых выражений за счет соединения их друг с другом при помощи операций логики «не», «и», «или». Для определения ложности либо истинности рассматриваются составные символы.
При передачи данных через онлайн-сервисы и с помощью ЭВМ операторы используют специализированные термины. Под высказываниями подразумеваются повествовательные предложения, которые могут быть истинными (1) либо ложными (0). Операция — мыслительное действие, в результате которого изменяется объём либо содержание, образуется новое понятие.
Элементы выражения, утверждения либо записи:
С учётом значений переменных выражение может иметь одно из следующих значений: истина либо ложь. Составные выражения строятся из простых при помощи логических действий, которые соответствуют связкам, употребляемым в естественном языке. Пример: значение инверсии — «неверно, что», а конъюнкции — «и», «но», «хотя». Существует определённый порядок выполнения логических операций в информатике:
Для изменения последовательности, указанной в схеме, применяются скобки. К сложным функциям относится конъюнкция.
Согласно формуле, истинно в том и только в том случае, если 2 простых высказывания являются истинными. Подобное значение возможно в одном случае, а во всех других оно ложное. Обозначение конъюнкции: &, ∧.
Описание операций:
Выражение считается истинным, когда одновременно истинны два высказывания. Базовые значения исходных данных указываются в специальной таблице истинности логических операций. Двоичные числа, которые соответствуют высказываниям, располагаются в схеме в возрастающем порядке. В последнем столбике записывается результат выполненных операций для конкретных операндов (аргумент). Свойства логического умножения:
Логическое сложение
В информатике часто используется такой вид операции, как дизъюнкция. Случай, когда нужно исключать истинное сложение — все подвыражения ложны. Символы, которые используются для обозначения операции: +, ∨. Базис свойств сложного сложения:
Результат не зависит от порядка расположения знаков логической операции. Для решения дизъюнкции используются 2 выражения. Первое: = «Лейбниц применил в информатике математические символы», второе: = «Лейбниц основал бинарную арифметику».
В результате преобразования описанных выражений получается следующий результат: «Идея использования в информатике математических символов принадлежит Лейбницу, или он основал бинарную арифметику».
Сложное высказывание считается ложным, если одновременно неверны два первоначальных понятия. В основе записи дизъюнкции находятся нули и единицы.
Использование частиц
Инверсия — ещё одна операция, которую применяют ежедневно операторы ЭВМ для обработки и передачи данных. Принцип преобразования отрицания: каждому тезису ставится новое высказывание, противоположное первоначальному. Инверсия либо отрицание означает, что к исходному выражению приставляется частица «не» либо слово «неверно», «что». Расшифровка логической операции:
Чтобы править запись инверсии, применяются специальные знаки логической операции: «НЕ», «А», «¬А». Для логического отрицания характерны некоторые свойства. Считается, что «двойное отрицание» (обозначается «¬ ¬A») — следствие суждения А. Оно указывает на тавтологию логического формата и равняется значению в булевой логистике.
Высказывание «Я имею компьютер» имеет отрицание «Неверно, что я имею компьютер» либо «У меня нет компьютера». Выражение «Я не знаю японский язык» имеет отрицание «Неверно, что я не знаю японский язык» либо «Я знаю японский язык». Другой пример инверсии: «Все ученицы 8 класса — отличницы». Отрицание можно составить следующим образом:
Когда строится отрицание к простому высказыванию, либо применяется оборот из русского языка «неверно, что…», либо отрицание формируется для сказуемого, тогда к глаголу рекомендуется добавить частицу «не». Логическое умножение с символом «и» должно выполняться раньше сложения с «или».
Сложную операцию можно записать в виде выражения, в состав которого входят переменные, знаки и скобки. При этом необходимо соблюдать некоторую последовательность действий:
Для изменения порядка выполнения действия расставляются скобки. В конце выполненных операций проводится импликация. Это сложное выражение считается истинным в любом случае, исключение — из истины следует ложь. Операция позволяет связать 2 простых высказывания, из которых первое считается условием, а второе — следствием.
Для вычисления результата составного высказывания достаточно выяснить только значение 1 составного элемента. Если в схеме с «и» используется ложное простое высказывание, то результат составного будет ложным. Когда в составном предложении с «или» значения одного простого символа истинное, тогда результат всего выражения будет истинным.
Закон Пирса
В информатике используется булевая функция, названная в честь Пирса. Впервые стрелку Пирса ввели ученые в алгебру в 1880 г. г. Она обозначается следующим образом: ↓, «или-не». Свойства функции:
В информатике выражение представлено в виде элемента, который называется «операция 2ИЛИ-НЕ». Другая функция, которая часто применяется в электронике, называется штрихом Шеффера. Операция состоит из 2-х неизвестных либо бинарного элемента. Штрих используется с 1913 года. Он обозначается как |, что эквивалентно «и-не».
Его главные свойства:
В информатике операция используется с целью реализации схем путём применения типового, но дорогостоящего элемента. Из всех существующих логических операций приоритет отдаётся инверсии. Чтобы выразить логические сущности, операторы применяют разные символы. Специалисты решают задачи в уме, передавая через сервисы только конечный результат. Для обработки данных они используют схемы всех высказываний. Вычисления производятся быстрее на ЭВМ, компьютерах с мощным жёстким диском.