example 2-2.c

来自「基于DSP开发平台《TI DSP在音频处理中的应用》程序代码」· C语言 代码 · 共 23 行

C
23
字号

/* Example 2 - 2. Unsigned Fixed-Point Division C Subroutine for C6x */


/********************************************************************/
/*    num --- numerator(被除数),   den --- denominator(除数)    */
/********************************************************************/

unsigned int udiv(unsigned int num, unsigned int den)
{
    int i, shift;

    if (den > num) return (0);
    if (num == 0)  return (0);
    if (den == 0)  return (–1);
    shift = _lmbd(1, den) – _lmbd(1, num);
    den <<= shift; 				/* 对齐分母 */
    for (i=0; i<=shift; i++)
        num = _subc(num, den);
    return (num << (32–(shift+1))) >> (32–(shift+1));
                                   		/* 存储商 */
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?