前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c语言实现大数运算_c语言标准库教程

c语言实现大数运算_c语言标准库教程

作者头像
全栈程序员站长
发布2022-11-08 18:03:51
2.9K0
发布2022-11-08 18:03:51
举报
文章被收录于专栏:全栈程序员必看

前言 : 通过前面的3篇文章我们已经实现了大数的四则运算,本篇博客我们会把这是几个个方法做成一个库文件,可以供自己日后使用。细心的读者可能意到了,每个程序都引用了big.h但是都被注释掉了。big.h就是头文件只要将函数的声明放到该文件中,然后在其它程序中引用该文件就可以使用大数运算的方法。重复的代码我就不再写了,其实有了算法你们自己就可以实现,所以我就简单的说几句。

文件命名: 头文件: big.h 源码在本篇 大数加法:big_add.c 完整源码在加法篇 大数减法:big_sub.c 完整源码在减法篇 大数乘法:big_mul.c 完整源码在乘除法篇 大数除法:big_div.c 完整源码在乘除法篇 测试文件:main.c 源码在本篇

实现: 1.将每个源码文件中的main函数去掉,将big.h注释取消。 2.编写big.h代码如下。

代码语言:javascript
复制
  1 char * bigadd(char *adda,int lena,char *addb,int lenb);
  2 char * bigsub(char *suba,int lena,char *subb,int lenb);
  3 char * bigmul(char *m,int lena,char *f,int lenb);
  4 char * bigdiv(char *diva,int lena,char *divb,int lenb);

3.编写一个测式的文件,代码如下。

代码语言:javascript
复制
  1 #include"big.h"
2 #include<string.h>
3 #include<stdlib.h>
4 #include<stdio.h>
5    int lena,lenb;
6    char *result;
7    char sa[BUFSIZ],sb[BUFSIZ];
8 void getdata(){
9    scanf("%s",sa);
10    scanf("%s",sb);
11    lena=strlen(sa);
12    lenb=strlen(sb);
13 
14 }
15 void myadd(void){
16    getdata();
17    result=bigadd(sa,lena,sb,lenb);
18    puts(result);
19 }
20 void mysub(void){
21    getdata();
22    result=bigsub(sa,lena,sb,lenb);
23    puts(result);
24 }
25 void mymul(void){
26    getdata();
27    result=bigmul(sa,lena,sb,lenb);
28    puts(result);
29 }
30 void mydiv(void){
31    getdata();
32    result=bigdiv(sa,lena,sb,lenb);
33    puts(result);
34 }
35 
36 int main(){
37    myadd();
38    mysub();
39    mymul();
40    mydiv();
41    return 0;
42 }

编译和测试:

代码语言:javascript
复制
gcc big_add.c big_sub.c big_mul.c big_div.h
./a.out

C语言大数运算,参考了很多人的博客和代码,学到了很多,在这里表示感谢。这次对大数运算的小小总结也是希望可以帮到有需求的人,哪怕一点点。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185061.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月7日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档