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; }


推荐相关:

多字节、多进制加法运算实验报告

若有进位,应向和的最高位字节地址写入01H,这时和 数将比加数或被加数多出一个字节。 2.单字节带符号数加法运算 编程范例: 两个8 位二进制带符号数加法, ...


同一进制数的加法

同一进制数的加法_物理_自然科学_专业资料。解决同一进制数的加法,比如两个八进制数相加,结果用八进制表示!有关同一进制数的几个数之间的加法的推广引言:在学习...


十进制加法

的十进制数输入到寄存器中,再分别实现加数和被加数的最低两位和最高两位的带进位的加法,通 过是否溢出判断结果是否需要转化,并且依次将其进行十六进制到十进制的转...


十进制转二、十六进制 进制之间加减法

进制转二、十六进制 进制之间加减法_IT/计算机_专业资料。十进制转十六进制 1. 把这个数除以十六,之后所得把所有的余数倒着写出来 2. 注意 10 到 15 为 ...


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

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


实验04 二进制多位加法运算

进制精度加法运算 2页 1下载券 实验七 二进制数的加法... 3页 1下载券...设计一个程序段,将 AX 和 BX(合并为 32 位寄存器,AX 为高 16 位) 中的...


十进制加法计数器 (3)

EDA技术与VHDL实验报告一实验题目:十进制加法计数器 二实验目的: 设计带有异步复位和同步时钟使能的十进制加法计数器。 三实验内容: 编写十进制加法计数器的 VHDL ...


单片机实验一 多字节十进制加法程序设计

实验一 多字节十进制加法程序设计一.实验目的: 1.熟悉仿真器的软件使用环境及单片机汇编语言编程; 2.掌握多字节十进制加法的程序设计及实现方法。 二.实验内容:...


做一个五进制的加减法计数器

做一个五进制加减法计数器, 做加法, 一、 做一个五进制加减法计数器,输入控制端为 1 时,做加法,为 0 时, 做减法, 触发器实现。 做减法,用 JK ...


十进制加法计数器

燕山大学课程设计说明书 燕山大学课 程设计说明书 题目: 十进制加法计数器 学院(系) : 电气工程学院 年级专业: 学号: 学生姓名: 指导教师 教师职称: 实验师 ...

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