Прошу помощи, а то закипаю
Из описания демо-платы EVAL-AD5933EB надыбал странную вещь. После чтения значений Real и Imaginary Data из соответствующих регистров проводится проверка на знак (положительно/отрицательно). Вот таким образом:
Код
If ImagineryData <= &H7FFF Then
' Positive Data.
Else
' Negative
' ImagineryData = ImagineryData And &H7FFF
ImagineryData = ImagineryData - 65536
End If
Я может конечно совсем загнался, но получал модуль в случае отрицательного числа с помощью двух действий: если число отрицательное, то я сначала отнимаю единицу, а затем делаю инверсию обоих байт. В данном коде от AD получается, что их отрицательные числа приведены в простом формате без всяких дополнений, т.е. старший бит - это знак, а остальное - это реальное значение. Тогда нафига загадочное вычитание 65536, которое в двух байтном значении в итоге все равно оставит ровно то же самое значение???..