So, I am trying to understand floating point operations better, and I understand that when arithmetic operations are performed (I'm looking primarily at RISC) a rounding, guard and sticky bit are used for rounding of the result during normalization.
My question is, when we first "create" a binary floating point value, are rounding, guard and sticky bits utilized at all, or is the mantissa simply truncated? Could you not potentially loop forever trying to populate the sticky bit with a fractional value?
For example, if I am using a half-precision float (10 bit mantissa), with the value of 2775.0 the binary the value is 1010 1101 0111b. The mantissa would therefore be 0101 1010 111. If the last bit is truncated, the mantissa becomes 0101 1010 11 (2774.). If rounding occurs, the mantissa would become 0101 1011 00 (2776.).
Which is it?
I'd also be really interested in understanding how the FPU knows when to "stop" looking for the sticky bit when processing a decimal input value.
I've tried reading up on this and I don't find much on rounding as it relates to the initial conversion from decimal to binary (as far as rounding goes).