add.c
来自「SecuDe是一个由安全应用程序接口组成,对验证机制、证件处理、PEM、X.40」· C语言 代码 · 共 55 行
C
55 行
/* * SecuDE Release 4.1 (GMD) *//******************************************************************** * Copyright (C) 1991, GMD. All rights reserved. * * * * * * NOTICE * * * * Acquisition, use, and distribution of this module * * and related materials are subject to restrictions * * mentioned in each volume of the documentation. * * * ********************************************************************//* * L_NUMBER addition * */#include "arithmetic.h"/* A + B */void_add(Ap, Bp, Sum) register L_NUMBER *Ap, *Bp, *Sum;{ register L_NUMBER *Sp; register int cnt, carry = 0; int residual; if (lngofln(Ap) < lngofln(Bp)) Sp = Bp, Bp = Ap, Ap = Sp; /* swap operands */ cnt = lngofln(Bp); residual = lngofln(Ap) - lngofln(Bp); Sp = Sum; lngofln(Sum) = lngofln(Ap); for (; cnt > 0; cnt--) carry = cadd(*++Ap, *++Bp, ++Sp, carry); for (; carry && (residual > 0); residual--) carry = cadd(*++Ap, 0, ++Sp, 1); if (Sp != Ap) for (; residual > 0; residual--) *++Sp = *++Ap; if (carry) (lngofln(Sum))++, Sum[lngofln(Sum)] = 1; return;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?