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

📄 bigncal.h

📁 大的整数运算
💻 H
字号:
#include"typedef.h"
void BN_Reset(BNum *pbn);


/*=====================================================================
     function:        out put the result
======================================================================*/
void BN_Print(BNum *pbn);

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	function:	get bit length of BNum
	input:		pbn
	output:		bitlen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

SWord BN_GetBitlen(BNum *pbn);

/*=============================================
           funtion: get the first address of 
		   the large number
==============================================*/
SWord BN_GetAddr(BNum *pbn);

/*==============================================
	大整数加赋值
	pbnto=bn+bn2
===========================================*/
void BN_AddTo(BNum *pbn, BNum *pbn2, BNum *pbnto);
/********************************************************
                      大整数相乘
           re = bn1*bn2
           WordPerBNum = 16
*******************************************************/
void BN_Multiply(BNum *bn1,BNum *bn2,BNum *re);

/*==========================================================================
大整数相减,输入: bn1,bn2
            输出:bn_to
==========================================================================*/
BNum *BN_SubCore(BNum *bn1,BNum *bn2,BNum *bn_to);  //bn1是一个比bn2的数字;

void BN_Sub(BNum *bn1,BNum *bn2,BNum *bn_to);

/*=====================================================================
移位函数乘以2              左移
=========================================================================*/
void BN_MoveLeft(BNum *pbn);

/*=======================================================================
                        移位函数除以2   右移
========================================================================*/

void BN_MoveRight(BNum *pbn);

int BN_ComPare(BNum *p1,BNum *p2);

/*==========================================================================
大整数除法,输入: bn1,bn2(bn1>bn2,bn2!=0)
            输出:q,r(q为商,r为余数)
==========================================================================*/
void BN_Pass(BNum *p1,BNum *p2);

void BN_Devide(BNum *p1,BNum *p2,BNum *rem,BNum *result);

void BN_Transform(BNum *e,int eb[1024]);

void ModMul(BNum *pb1,BNum *pb2,BNum *N,BNum *bn_to);

void ModPower(BNum *M,BNum *e,BNum *N,BNum *C);

⌨️ 快捷键说明

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