|
[ 簡単な説明 ]
n 桁の桁上げ(左シフト)を行います。但し、基数は BASE です。 |
/* lup.c */
#include "longint.h"
void lup(LINT *a, int n)
{
int i, *p;
if(a->len == 0 || n == 0) return;
if(n < 0)
{
ldown(a, n);
return;
}
for(i = a->len, p = a->num + a->len + n; i >= 1; i--, p--) *p = *(p - n);
for(i = n; i >= 1; i--) *p-- = 0;
a->len += n;
return;
}
|