Декодирование двоичного значения заголовка - PullRequest
0 голосов
/ 15 августа 2011

image

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

int magneticheading = Convert.ToInt32(olotoMEbinary.Substring(14, 10), 2);

Но потом я проверил, что для 259 градусов нужно только 9 бит, чтобы выразить их в двоичном виде (100000011). Я не понимаю, что означает самый значительный бит в 180 градусов и фунт стерлингов 360/1 024.

Например, если я получу следующие 10 битов 0100001010, как они преобразуются в градусы в соответствии с приведенными выше инструкциями?

Ответы [ 2 ]

2 голосов
/ 15 августа 2011

Используя математику с плавающей точкой, умножьте на 360 и разделите на 1024.

0 голосов
/ 15 августа 2011

Инструкции, в которых отсутствуют ссылки на вопрос, но метод Стивена Клири, по-видимому, соответствует двум указанным точкам данных.Это может помочь представить его как преобразование единицы из 1024 делений круга в 360.

...