Hello Isaac! > By your explanation, i understand that you expect this "_Fract" to be > a 16-bit fixed-point number with format Q1.15. Exact. The _Fract type is built-in in XC16. > A Q1.15 fixed-point number can represent numbers in the range -1.0 to > 0,999969482421875. Yes, I know this. I've only said -1 to 1 to simplify things.=20 0,999969482421875 is very close to 1. ;) > When you try to convert integer 100 to Q1.15 (which can represent at > most 0,999969482421875), the compiler is doing "saturation", that is > using the largest value it can represent (0x7fff is the Q1.15 binary > representation of 0,999969482421875). Yes, this I also understood. > Probable doing "f =3D i/32768.0;" will give you the expected result. Sure but it takes about 800 cycles because the unnecessary=20 "conversion" is made in floating point. Bob Ammerman gave me the clues I was looking for. Thank you very much! --=20 Edson Brusque Tim: (47)9938-3439 --------------------------------------------------------------------- Edson Brusque www.BruschiAmps.com.br Blumenau, SC, Brazil (47)3232-0984 --------------------------------------------------------------------- --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .