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

📄 pow.h

📁 实现了任意长度整数的加减乘除以及成n次方运算
💻 H
字号:
#include<stdio.h>
#include"MULTIPLY.h"


long DivByTwo(long num)
{
	long i;
	for( i=0; num > 1; i++ )
	{
		num = num/2;
	}
	return i;
}

struct head *Pow(struct head *headnode, long num) 
{
	struct head *headbuffer = new struct head;
	CreatandStore(headbuffer, 1);
	struct head *headforstore = new struct head;
	headforstore->right = headnode->right;
	headforstore->left = headnode->left;
	int m;
	for(int i=0; num>1; i++)
	{

		m = DivByTwo(num);
		num = num - lpow(2,m);
		for(int j=0; j<m; j++)		
		{
			headnode = Multiply(headnode, headnode);
		}

		headbuffer = Multiply(headnode, headbuffer);
		headnode->right = headforstore->right;
		headnode->left = headforstore->left;
	}
	if(num==1)
	{
		headbuffer = Multiply(headbuffer, headforstore);
	}


	SetNoofDigits(headbuffer);	
	SetNoofNode(headbuffer);

	return headbuffer;
	
}

⌨️ 快捷键说明

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