Примеры преобразования 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 выше?
Спасибо
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
Просто сделай математику.