Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Порядок байтов - Вещественные числа23 января 2011Оглавление: 1. Порядок байтов 2. Проблемы совместимости 3. Вещественные числа 4. Интересные факты Хранение вещественных чисел может зависеть от порядка байт; так, на x86 используются форматы IEEE 754 со знаком и порядком числа в старших байтах. ЮникодЕсли Юникод записан в виде UTF-16 или UTF-32, то порядок байтов является существенным. Одним из способов обозначения порядка байтов в юникодовых текстах является постановка в начале специального символа BOM «перевёрнутый» вариант этого символа не существует и не допускается в текстах. КонвертацияДля преобразования между сетевым порядком байтов, который всегда big-endian, и порядком байтов, использующимся на машине, стандарт POSIX предусматривает функции
В случае совпадения текущего порядка байтов и сетевого, функции могут быть «пустыми». Стандарт также допускает, чтобы эти функции были реализованы макросами. Существует много языков и библиотек со средствами конвертации в оба основных порядка байт и обратно. Ядро Linux: le16_to_cpu, cpu_to_be32, cpu_to_le16p, и так далее; Ядро FreeBSD: htobe16, le32toh, и так далее; Erlang: <<Count:32/big-unsigned-integer, Average:64/big-float>> = Chunk Message = <<Length:32/little-unsigned-integer, MType:16/little-unsigned-integer, MessageBody>> Python: import struct Count, Average = struct.unpack Message = struct.pack + MessageBody Perl: = unpack; $Message = pack<', $Length, $MType) . $MessageBody; . $MessageBody;) данные примеры для Erlang, Python, Perl содержат идентичную функциональность. Просмотров: 4847
|