#include <stdio.h>
#define MAXSIZE 10
#define WITH 255
typedef struct hinum
{char num[MAXSIZE];
}hinum;
void hifirst(hinum *a);
hinum *hinew(int v);
void hidel(hinum *p);/*删除一个高精度空间*/
void higive0(hinum *dest,long number);/*整数->高精度*/
void higive1(hinum *dest,hinum *a);/*高精度->高精度*/
int higive2(hinum *dest,char *str);/*字符串->高精度,错误返回0*/
void higive3(char *str,hinum *a);/*高精度->字符串*/
int higets(hinum *dest);/*从键盘输入dest,错误返回0*/
void hiprint(hinum *dest);/*打印dest*//*算术运算辅助函数*/
void hileft(hinum *a,int step);/*a=a<<step*/
int hileft1(hinum *a);/*a=a<<1,返回原数最高位*/
int hiright1(hinum *a);/*a=a>>1,返回原数最低位*/
void hichg(hinum *a);/*a=-a*/
int hichk(hinum *a);/*if(a>=0)return 0;else return 1;*/
int hicount(hinum *a);/*返回a值为1的最高位*//*算术及比较运算函数*/
int hicmp(hinum *a,hinum *b);/*a>b返回1,a=b返回0,a<b返回-1*/
void hiadd1(hinum *a);/* a++ */
void hiadd0(hinum *a,long b);/*a=a+b*/
void hiadd(hinum *a,hinum *b);/*a=a+b*/
void hicut(hinum *a,hinum *b);/*a=a-b*/
void himuti(hinum *a,hinum *b);/* a=a*b */
int hidiv(hinum *a,hinum *b,hinum *mod);/*mod=a%b(a mod b),a=a/b*/
hinum *hioprate(hinum *a,hinum *b,char c,int v);/*运算函数,c为运算符号:'+','-','*','/';对于'+','-','*':v=0结果存在a中,否则新见建一个结果空间,对于'/',a=a/b,返回余数*//****测试函数****/
void hishow(hinum *a);/*显示a的二进制*/
没了?
#define MAXSIZE 10
#define WITH 255
typedef struct hinum
{char num[MAXSIZE];
}hinum;
void hifirst(hinum *a);
hinum *hinew(int v);
void hidel(hinum *p);/*删除一个高精度空间*/
void higive0(hinum *dest,long number);/*整数->高精度*/
void higive1(hinum *dest,hinum *a);/*高精度->高精度*/
int higive2(hinum *dest,char *str);/*字符串->高精度,错误返回0*/
void higive3(char *str,hinum *a);/*高精度->字符串*/
int higets(hinum *dest);/*从键盘输入dest,错误返回0*/
void hiprint(hinum *dest);/*打印dest*//*算术运算辅助函数*/
void hileft(hinum *a,int step);/*a=a<<step*/
int hileft1(hinum *a);/*a=a<<1,返回原数最高位*/
int hiright1(hinum *a);/*a=a>>1,返回原数最低位*/
void hichg(hinum *a);/*a=-a*/
int hichk(hinum *a);/*if(a>=0)return 0;else return 1;*/
int hicount(hinum *a);/*返回a值为1的最高位*//*算术及比较运算函数*/
int hicmp(hinum *a,hinum *b);/*a>b返回1,a=b返回0,a<b返回-1*/
void hiadd1(hinum *a);/* a++ */
void hiadd0(hinum *a,long b);/*a=a+b*/
void hiadd(hinum *a,hinum *b);/*a=a+b*/
void hicut(hinum *a,hinum *b);/*a=a-b*/
void himuti(hinum *a,hinum *b);/* a=a*b */
int hidiv(hinum *a,hinum *b,hinum *mod);/*mod=a%b(a mod b),a=a/b*/
hinum *hioprate(hinum *a,hinum *b,char c,int v);/*运算函数,c为运算符号:'+','-','*','/';对于'+','-','*':v=0结果存在a中,否则新见建一个结果空间,对于'/',a=a/b,返回余数*//****测试函数****/
void hishow(hinum *a);/*显示a的二进制*/
没了?