tceic.com
简单学习网 让学习变简单
当前位置:首页 >> 学科竞赛 >>

高精度加法--(万进制)


#include<stdio.h> #include<stdlib.h> #include<string.h> #define base 10000 char a[25010],b[25010]; int add[25610],x[25610],y[25610]; int flag=1; void out (int clen) { int p,

i; for(i=clen;i>=1;i--) { if(add[i]<1000&&flag==0) { p=add[i]; if(p==0)p++; while(p<1000) { printf("0");p*=10;} printf("%d",add[i]); } else printf("%d",add[i]); flag=0; } puts(""); } int main() { int i,j,k,m,n,p=0,ai=0,bi=0,count=0; char c;i=0; c=getchar(); while(c!=' ') { a[i++]=c; c=getchar(); } gets(b); int alen,blen,clen; alen=strlen(a); blen=strlen(b); memset(x,0,sizeof(x)); memset(y,0,sizeof(y)); m=alen-1;

int an=alen/4; int ap=alen%4; for(i=1;i<=an;i++) { k=1000; for(j=3;j>=0;j--){ x[i]+=(a[m-j]-'0')*k;k/=10;} m-=4; } k=1; if(ap) { for(j=1;j<ap;j++)k*=10; for(j=ap-1;j>=0;j--){ x[i]+=(a[m-j]-'0')*k;k/=10;} } int bn=blen/4; int bp=blen%4; m=blen-1; for(i=1;i<=bn;i++) { k=1000; for(j=3;j>=0;j--){ y[i]+=(b[m-j]-'0')*k;k/=10;} m-=4; } k=1; if(bp) { for(j=1;j<bp;j++)k*=10; for(j=bp-1;j>=0;j--){ y[i]+=(b[m-j]-'0')*k;k/=10;} } if(ap)ai=1; if(bp)bi=1; alen=an+ap; blen=bn+bp; clen=alen>blen?alen:blen; memset(add,0,sizeof(add)); for(i=1;i<=clen;i++) { count+=x[i]+y[i]; add[i]=count%base; count/=base;

} while(count) { add[++clen]=count; count/=base; } while(!add[clen])clen--; out(clen); system("pause"); return 0; }


推荐相关:

二进制双精度加法运算

进制精度加法运算_工学_高等教育_教育专区。;A4-1.asm ;二进制精度加法运算 STACK1 STACK1 SEGMENT STACK DW 256 DUP(?) ENDS DATA SEGMENT MES1 DB...


国家集训队论文:平衡规划

其中使用最多的有高精度乘以单精度与高精度加减法。 高精度运算有一个通用的优化:压位。在longint范围内通常是压4位(即万 进制) ,在int64则可以压8位,而压...


...111)3.用集成芯片设计26进制加法器并显示)

数字电子技术课程设计(1.六进制同步加法计数器(无效态:010,111)3.用集成芯片...(5)实验仪器 ①、数字电子技术试验箱一个 ②、万用表一个 100 000 (有效...


3位二进制同步加法计数器(无效状态为001 100)74LS161构...

3位二进制同步加法计数器(无效状态为001 100)74LS161构成240进制同步计数器序列...在状态 000 状态的时候输出信号 1 对应波形和数码管都是高电平 在状态 111 ...


实验7 4位二进制并行加法器的设计 - 副本

实验7 4位二进制并行加法器的设计 - 副本_理化生_高中教育_教育专区。EDA与VHDL语言教学及实验实验7 4 位二进制并行加法器的设计 一、实验目的 学习加法器的设...


数电课设 六进制同步加法计数器(无效态010,100)

MR2 为高电平时,只要置9 端MS1,MS2 有一个为低电平,就 可以完成清零功能。...555 多谐振荡器产生脉冲的 30 进制加法计数器 4 实验仪器集成芯片:74LS112 ...


VHDL双向十进制加减法计数器(代码和截图)

VHDL双向十进制加减法计数器(代码和截图)_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 VHDL双向十进制加减法计数器(代码和截图)_IT/计算机_专业资料...


时序逻辑电路设计实验-二进制加法计数器

四、实验内容 1、用Verilog HDL设计同步二进制加法计数器,并对其进行功能仿真。 2、用Verilog HDL设计加减可控的二进制计数器,并对其进行功能仿真。 五、实验原理 ...


广工微机课程设计修改有注释(四位16进制加法运算三位16...

以实现如下功能: A) 定义键盘按键,13 个为数字键 0~E,3 个功能键:乘号 X,加号+, 等号=; B)可进行四位 16 进制加法运算; C)可进行三位 16 进制乘法...


多位十进制数加法器实验-2014

多位十进制加法器实验-2014_电子/电路_工程科技_专业资料。实验报告实验...要求被加数、加数均以 ASCII 码形式各自 按高位高地址的规律分别顺序存放在以 ...

网站首页 | 网站地图
All rights reserved Powered by 简单学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com