带符号的加减法就是在绝对值加减法的基础上考虑a、b的符号。具体说来就是,带符号的加法的执行规则是:
( a)+( b) <=> a+b; (-a)+(-b) <=> -(a+b);
( a)+(-b) <=> a-b; (-a)+( b) <=> b-a ;
───────────────────────────────────────
int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
功能: 大数加法
输入: a,b
输出: r=a+b
返回: 1【正常】or 0【出错】
出处: bn_add.c
───────────────────────────────────────
带符号的减法既需要象带符号的加法那样考虑a、b的符号,又需要比较 |a| 和 |b| 的大小关系。比较 |a| 和 |b| 的大小可以利用int BN_ucmp(const BIGNUM *a, const BIGNUM *b) 函数实现,函数返回值为正数(|a|大)或0(相等)或负数(|b|大),详情参见§0.2.3。
───────────────────────────────────────
int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
功能: 大数减法
输入: a,b
输出: r=a-b
返回: 1【正常】or 0【出错】
出处: bn_add.c
───────────────────────────────────────