Сообщение от
capzap
Чем точка не устраивает?
В случае вычислений, например, масштабирование - умножение в целых числах на 0,00512
https://owen.ru/forum/showthread.php...l=1#post432043
вместо выделения 16 младших разрядов по маске AND, пришлось делить.
Код:
// преобразование входного значения во внутренний формат с учётом умножения на (2^9) = 512
A2 := shr(Reg0x1300, 32-9);
A1 := shr(Reg0x1300, 7) mod (max_value + 1);
A0 := shl(Reg0x1300, 9) mod (max_value + 1);
В случае выделения бит состояния устройства и каких-то действий.
В слове состояния устройства три младших бита показывают 000 - останов, 001 - неисправность, 010 - работа по байпасу, 011 - разгон, 100 - торможение
Хотел выделить эти биты по маске и через case выполнить какие-то действия.
Конечно, можно через if или просто формулы работать с отдельными битами числа (через точку).
Если стандарт против - попрошу прощения за нелепое предложение.