
Сообщение от
Cs-Cs
ASo Потому что когда я делал по схеме WORD_TO_REAL(Value) / EXPT(10, WORD_TO_REAL(DigPoint)) - меня отругали и сказали что надо юзать FLOAT вместо этой фигни =)
А Float я чего-то боюсь и не понимаю... а ща, раз тему затронули, есть шанс спросить как правильно.
Итого, мои вопросы:
1. Чтобы не терять знак при преобразованиях, мне значение регистра, которое WORD, надо преобразовывать в INT, который знаковый?
Верно?
2. Если я хочу собрать REAL (то есть FLOAT), то как делать так, чтобы не потерялся знак?
Я не понимаю пока что. Вот есть у меня 4 байта. Я могу из них собрать DWORD побитно, как подсказал Валенок.
И чего мне с этим DWORD делать, в котором мои 4 байта будут?
SysMemCpy ему в REAL что ли делать?
Или просто написать DWORD_TO_REAL?
Тут я туплю, и мне надо не код с магическими числами как у Sergey66 (так учили писать в совковых школах, где все индексы i и j, и ни хера не ясно что то всё значит), а понять типы данных и то, как они собираются из байт.