⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example 2-3.c

📁 《基于TI DSP的通用算法实现》程序代码
💻 C
字号:

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

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

int sdiv(int num, int den)
{
    int i, shift, sign;

    sign = (num>>31) ^ (den>>31);	/* 确定结果的符号 */
    num = _abs(num);
    den = _abs(den);
    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);
    num = _extu(num, (32–(shift+1)), ((32–(shift+1)));
											/* 无符号除法的结果 */
    if (sign) return (–num);		/* 修正商的符号 */
    else return (num);
}

⌨️ 快捷键说明

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