mathes.h

来自「一款收款机C源代码!因为是几年前的代码了」· C头文件 代码 · 共 59 行

H
59
字号
/*
 * Module: Mathes.h
 * Modified by: X.C.Zheng WeiHua
 * Modified on: Date:  03-8-11 14:03
 * Copyright(c) WeiHua Tech Ltd.
 */



#ifndef MATHES_INCL
#define MATHES_INCL

/*
 * This is the prototype for special long digital type calculation.
 * Any large number is devided to two parts, highlong and lowlong.
 */


#define NEGATIVE    1
#define POSITIVE    0

typedef unsigned char BYTE;
typedef unsigned long D_WORD;

typedef struct
{
   D_WORD  lowlong;
   D_WORD  highlong;
   BYTE  dots;
   BYTE  sign;  /* 0: positive 1:negative */
}DoubleLong;

D_WORD getLong(BYTE);   /* get 10^BYTE )*/

long DL2L(DoubleLong *dl, BYTE dots, BYTE round);
void L2DL(long, DoubleLong *, BYTE); /* long interger to double long interger */

BYTE DL_Mul(DoubleLong *, long  , BYTE);
BYTE DL_Mul_Adj(DoubleLong *llx, D_WORD highdata);

BYTE DL_Div(DoubleLong *, long , BYTE, BYTE, BYTE);
BYTE DL_Exact_Div(DoubleLong *llx, long lly, BYTE dots);

BYTE DL_Add(DoubleLong *llx, long lly, BYTE dots);
BYTE DL_Add2(DoubleLong *llx, DoubleLong ll);
void DL_Add_Adj(DoubleLong *llx, DoubleLong *lly);

void DL_Eva(DoubleLong *llx, DoubleLong *lly);
void DL_Clr(DoubleLong *ll);

void DLong2Asc(DoubleLong *ll, char *obj_str, BYTE Adj_Len);
void DLong2Bcd(DoubleLong *ll, BYTE *bcdstr, BYTE Max_Len);

#endif
/*
 * $Header: 
 * $Log: $
 */

⌨️ 快捷键说明

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