Примеры преобразования MIL-STD-1750A в десятичное

Я смотрю на некоторые примеры на веб-странице формата 1750A, и некоторые примеры на самом деле не имеют смысла. Я включил спецификацию формата 1750A внизу этого поста на случай, если кто-то не знаком с ней.

Возьмите этот пример из таблицы 3 веб-страницы формата 1750A:

.625x2^4 = 5000 00 04

В двоичном 5000 00 04 является 0101 0000 0000 0000 0000 0000 0000 0100

Если вы преобразуете это в десятичное число, оно не будет равно 10, что составляет.625x2^4. Возможно я конвертирую это неправильно.

Возьми мантиссу, 101 0000 0000 0000 0000 0000 и вычесть 1 дачу 100 1111 1111 1111 1111 1111, Затем переверните биты, давая 011 0000 0000 0000 0000 0000, Переместить десятичную 4 знака (так как наш показатель 0100 это 4), давая нам 0110.0000 0000 0000 0000 000, Это равно 6,0, что не 0,625x2 ^ 4.

Я считаю, что фактическая стоимость должна быть 0011 0000 0000 0000 0000 0000 0000 01000 или же 30000004 в шестнадцатеричном виде

Может ли кто-нибудь еще подтвердить мои подозрения, что это значение неправильно помечено в Таблице 3 на странице формата 1750A выше?

Спасибо

1750A

2 ответа

Решение

Как объяснено ранее, знак + мантисса интерпретируется как значение 2-го дополнения между -1 и +1.

В вашем случае это 0.101000000... (база-2). Что составляет 1/2 + 1/8 = 0,625 (основание-10).

Все это имеет смысл.

Вот:

0101 0000 0000 0000 0000 0000 0000 0100

у тебя есть:

(0 * 20 + 1 * 2-1 + 0 * 2-2 + 1 * 2-3 + 0 * 2-4 +... + 0 * 2-23) * 24 = (0,5 + 0,125) * 16 = 0,625 * 16 = 10

Просто сделай математику.

Другие вопросы по тегам