I guess that the macro NGARDS is relevant to the guard digit. But I still failed to have a clear conception about what it means. Others are easy to know by IEEE 754 and "What Every Computer Scientist Should Know about Floating-Point Arithmetic". Except,
define NGARDS 8L define GARDROUND 0x7f define GARDMASK 0xff define GARDMSB 0x80 what do these mean? :-) Especially when unpack a signal floating point, the fraction takes such an operation at last, that make me much confused. dst->fraction.ll = (fraction << NGARDS) | IMPLICIT_1; I just want to know what does this mean.:-) Thanks a lot. Eirc.