Использование настроек с составными типами

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

  • один знаковый бит (0 для положительного, 1 для отрицательного) [116 ]

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

  • [114 ]

    шесть битов значащих и дают значение без знака

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

significand * ( 2 ^ exponent ) / ( 2 ^ 6 )
[1110 ] Для приведенных примеров у нас есть:

0011 0110 0011 =>
  sign bit       = 0, positive
  exponent field = 01101, which is decimal 13, so actual exponent = 13 - 15 = -2
  significand    = 100011, which is decimal 35

  value = positive 35 * ( 2 ^ -2 ) / ( 2 ^ 6 ) = 0.13672

1001 0011 0101 =>
  sign bit       = 1, negative
  exponent field = 00100, which is decimal 4, so actual exponent = 4 - 15 = -11
  significand    = 110101, which is decimal 53

  value = negative 53 * ( 2 ^ -11 ) / ( 2 ^ 6 ) = -0.0004044

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

9
задан Jeffrey Cameron 2 March 2009 в 18:49
поделиться

4 ответа

Создайте новый файл "Настроек" для добавления сложного/пользовательского предпочтительного типа. Вот практическое руководство для Перечисления.

Шаг 1. Создайте файл Настроек

alt text

Шаг 2. Обзор для типа

alt text

Шаг 3. Выберите тип (Пространство имен. TypeName)

alt text

Шаг 4. Ta da - Сделанный

alt text

10
ответ дан 4 December 2019 в 13:05
поделиться

При выполнении его в отдельном файле, поскольку часть частичного класса полностью приемлема.

0
ответ дан 4 December 2019 в 13:05
поделиться

Если бы Вы хотите смочь заполнить сложные объекты через конфигурационные файлы, я предложил бы использовать некоторую Dependency Injection Framework s.a. Spring. Сеть.

0
ответ дан 4 December 2019 в 13:05
поделиться

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

4
ответ дан 4 December 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: