значений с плавающей точкой (IEEE 32 и 64-бит) кодирует с использованием фиксированной длиной тупоконечником кодирования (7 бита используется, чтобы избежать использования зарезервированных байт, как 0xFF):7-битное кодирование значений с плавающей запятой?
, что пункты приходит от Smile Format spec (двоичный формат JSON).
Что это может означать? Существует ли стандартный способ кодирования IEEE floating point (одинарная и двойная точность), чтобы закодированные байты находились в диапазоне 0-127?
Больше, в общем: Я считаю, что в стандартном двоичном представлении нет зарезервированного или запрещенного байтового значения, число с плавающей запятой IEEE может включать в себя любой из 256 возможных байтов. Разумеется, существует ли какая-либо стандартная двоичная кодировка (или трюк), так что некоторые байты/s никогда не появятся (как, например, в кодировке UTF8 строк есть некоторые значения запрещенных байтов, как 0xFF)?
(я предполагаю, что будет означать либо потерять некоторую точность, или используя большее количество байтов.)
Я ожидал бы «использование большего количества байтов», а не «использование большего количества бит». Если вы используете только 7 бит на байт, вам нужно больше байтов, чтобы поместиться в 64 бита, чем если бы вы использовали 8 бит на байт. –
@PatriciaShanahan: Я думаю, что «использование 7 бит» на самом деле означает ограничение ваших байтов до диапазона 0-127 (сохранение MSB в нуле). Но, да, в конечном итоге это означало бы использование большего количества байтов. – leonbloy