Разделите число битов экспоненты и мантиссы - PullRequest
0 голосов
/ 05 марта 2019

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

Допустим, мыне хочу конвертировать в 32 бита, но в 15, 23 или любое другое число.Есть ли правило или метод для «деления» количества бит, приведенных для хорошего преобразования?

Например: если мы говорим, что хотим преобразовать данное число с плавающей запятой в 15 битов, сколько бит нам нужно для экспоненты и мантиссы?

1 Ответ

0 голосов
/ 05 марта 2019

По стандартам, есть «Половинная точность» с плавающей точкой размером 16 бит.

Стандарт IEEE 754:

Он определяет различные форматы, но не 15, 23 и т. Д.

Если вы определяете свой собственный формат, по сути, это проектное решение, сколько бит использовать для экспоненты.

Стандарт определяет 16-битный формат (половинную точность), который использует 10 бит для мантиссы (для эффективных 3 десятичных знаков) и 5 ​​бит для экспоненты, разрешающей диапазон + -65500.

Вот пример 16-битного формата, в котором для мантиссы используется другое количество бит.Он имеет точность только в 2 десятичных знака, но охватывает практически тот же диапазон значений, что и одинарная точность.Это делает его полезным для различных целей с половинной точностью:

И вот пример еще одного 16-битного формата, а также 8-битного формата:

А вот пример 11- и 10-битных чисел с плавающей запятой без знакового бита.Они предназначены только для хранения изображений, поэтому им не нужны отрицательные значения.Они используют 5 бит для мантиссы, чтобы упростить преобразование в половинную точность и обратно, что и используется внутренними графическими картами:

...