В инструкции пишут FF8055AAh.В программе я нахожу значение AA5580FF.Это не мало или не порядковый номер.Но что это?
Это порядок с прямым порядком байтов (при условии, что значение в руководстве является big-engian).Это байты {FF, 80, 55, AA}, поэтому при их обратном преобразовании вы получаете {AA, 55, 80, FF}.
Если ваш процессор ориентирован на байты (как это делают большинство современных процессоров), это либо порядок байтов, либо порядок байтов. Обратите внимание, что байт состоит из двух шестнадцатеричных цифр.
Я понял из вашего предыдущего вопроса , что вы хотите преобразовать эти шестнадцатеричные значения в представления с одинарной точностью. Используя онлайновый преобразователь шестнадцатеричной системы в числа с плавающей запятой , вот что я получаю:
FF8055AA
-NaN
AA5580FF
-1.8962955e-13
Итак, реальный вопрос в том, какое из этих чисел выглядит так, как вы ожидаете увидеть в вашем файле данных? Независимо от того, что из этого выглядит так, как вам нужно, обрабатывайте файл данных как имеющий порядок байтов, так что он дает вам это значение в результате, когда вы загружаете и конвертируете его.
Вы можете проверить свой порядок байтов с помощью небольшой программы, как указано ниже:
http://c -faq.com / разное / endiantest.html
Из того, что вы опубликовали, ваша последовательность является противоположностью руководствам. Замена порядка байтов вводит в заблуждение, но каждое слово хранится с большим или меньшим порядком байтов, что приводит к замене на
От AABB CCDD до DDCC BBAA (16-разрядные слова).