In the first example it may help if i explain the range of values my forumla will encounter, for BD[4] it is $00-$18 and for BD[5] it is $00-$7F. The application is a current sensor data stream which measures from -100 to +50A

This i think will allow me multiply the result by 10 and still fit in a WORD before performing the divide by 20.48 increasing integer accuracy as I can divide by 205

A problem however is that the result of a multiplication can be negative

If the result of a multiplication could possibly be negative, it should be
stored to a long-sized variable type to preserve the sign. If a negative
result is placed in a variable type other than long, subsequent
calculations using this value will interpret it as a positive number.
I don't know how to manage that PBL?

For the second example the range of values for BD[2] is $21 -$34 and for BD[3] it's again $00-$7F This isnt a current sensor but relates to a SOC reading probably varying from 0-100%