to complement what bernie has said.....
A-B PLCs, since the year dot, have always taken the stance that MOVing data, (and that includes the destination addresses for ALL math and FAL instruction, will perform whatever data conversion is required to store the "result" in the destination data-table address or Logix5000 tag.This is not the case with some other PLC manufacturers.
So you can mix data types in MOV and Math instructions as you wish.
Bernie mentioned "rounding", which will occur when a floating point or REAL value has to be stored in an integer-type destination.
Prior to the Logix5000 platform, rounding observed the ".5 and greater, round up" rule.
Logix5000 platforms (i.e. ControlLogix, CompactLogix, FlexLogix, SoftLogix, DriveLogix, and GuardLogix), have adopted the "Round to Even" rounding method - a.k.a. "Banker's Algorithm"
When trying to store a value that is nnnn.5 to an integer-type tag, the rounding will take the result to the nearest even integer, not upwards to the next highest integer.
So, a MOV 3.5 Int_Tag will result in Int_Tag becoming 4
but a MOV 4.5 Int_Tag will result in Int_Tag becoming 4 also !
The rationale behind this is that nn.5 is not "nearer" to the whole integer above it or below it, so to always round up is wrong. The Round-to-Even method removes the anomaly produced by the traditional rounding method.