Hi Ajith,
For 1, the end result determines the size and format you will need to use. Yes, floating point math takes longer and some micros have math engines built in to do the math more quickly. Another possibility is to use some tricks in the code to make sure that the result never goes beyond 32 bits (really 31 as the output result is signed.) Let's say you use 50000 instead of 500000. When you display the result you move the decimal place of the output one character position to the right.
Question 2. Auto TARE is a little tricky. You need to make sure that the result has settled to a true no-load. The auto TARE sequence can start with the output values trending down, and then waits to stabilize for a period of time. Once the system has stabilized you set the new TARE value. The tricky part comes when you place some weight on the scale then remove a little without taking the full weight from the scale. As an example let's say a customer wants to by a kg of bulk candy. The store owner places a scoop of candy on the scale and it is a little more than a kg, so a little is removed attempting to get 1kg. If the scale auto TAREs at the wrong time, the customer gets free candy and the shop owner loses money. So, I would approach the condition as a state machine. Draw a state diagram to cover the necessary conditions and then write the program to follow the state diagram.
Best regards,
Bob B