mpvecadd.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 36 行

C
36
字号
#include "os.h"#include <mp.h>#include "dat.h"// prereq: alen >= blen, sum has at least blen+1 digitsvoidmpvecadd(mpdigit *a, int alen, mpdigit *b, int blen, mpdigit *sum){	int i, carry;	mpdigit x, y;	carry = 0;	for(i = 0; i < blen; i++){		x = *a++;		y = *b++;		x += carry;		if(x < carry)			carry = 1;		else			carry = 0;		x += y;		if(x < y)			carry++;		*sum++ = x;	}	for(; i < alen; i++){		x = *a++ + carry;		if(x < carry)			carry = 1;		else			carry = 0;		*sum++ = x;	}	*sum = carry;}

⌨️ 快捷键说明

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