当前位置: 首页 > news >正文

第一篇、C_高精度加法

简介:

  C语言中,整型占4字节,现在要计算两个100(假设)位以内的数想加,如果只是用整型去存储,明显就会越界。那么,我们有什么好的方法去完成这一操作呢?

1.用数组实现

  数组中可以可以存储一定长度的字符串。

// 移位
void move_num(char num[])
{
    int n = strlen(num);
    int j = 100;
    int i;
    for(i=1;i<=n;i++)
    {
        num[j] = num[n-i];
        j--;
    }
    // 在空余位上补0
    while(j>=0)
    {
        num[j] = '0';
        j--;
    }
}

// 交换(数组中存放的都是字符,要转换成整数才可以相加)
void conv_num(char num[])
{
    int i ;
    for(i=0;i<100;i++)
    {
        num[i] = num[i] - '0';
    }
}

// 相加加
void add(char num1[],char num2[])
{
    int i;
    for(i = 100; i >0;i--)
    {
        num1[i] =  num1[i] + num2[i];
        if(num1[i] >= 10)
        {
            num1[i-1] += num1[i] / 10; // 进位
            num1[i] = num1[i] % 10;
        }
    }
}

// 输出
void print(char num[])
{
    int i = 0;
     // 让前面的0不输出
    while(num[i] == '0')
    {
        i++;
    }
    for(;i<100;i++)
    {
        printf("%s",num[i]);
    }
}

 

转载于:https://www.cnblogs.com/HJQ2016/p/5826269.html

相关文章:

  • 【域控管理】父域的搭建
  • dos.orm
  • MYSQL 的 IF 函数
  • 深入了解php opcode缓存原理
  • 自媒体平台如何提高推荐量
  • iptables详解
  • Entityframework core 动态添加模型实体
  • JDK 有区分 JAVA SE 和 JAVA EE版本的吗
  • attention 机制
  • 不小心删掉root目录......
  • python 生成器 迭代器
  • Django搭建博客后台
  • openstack openrpc
  • python中json和字符编码的转换
  • 【spring-boot】spring aop 面向切面编程初接触--切点表达式
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Android Volley源码解析
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • HTML中设置input等文本框为不可操作
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • java取消线程实例
  • Joomla 2.x, 3.x useful code cheatsheet
  • js递归,无限分级树形折叠菜单
  • October CMS - 快速入门 9 Images And Galleries
  • php的插入排序,通过双层for循环
  • Solarized Scheme
  • Vue.js-Day01
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 程序员最讨厌的9句话,你可有补充?
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 构造函数(constructor)与原型链(prototype)关系
  • 技术胖1-4季视频复习— (看视频笔记)
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 想写好前端,先练好内功
  • 小程序开发中的那些坑
  • 再次简单明了总结flex布局,一看就懂...
  • 在electron中实现跨域请求,无需更改服务器端设置
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • #Java第九次作业--输入输出流和文件操作
  • (175)FPGA门控时钟技术
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (生成器)yield与(迭代器)generator
  • (万字长文)Spring的核心知识尽揽其中
  • (转)大道至简,职场上做人做事做管理
  • (转)视频码率,帧率和分辨率的联系与区别
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net FrameWork简介,数组,枚举
  • .Net 路由处理厉害了
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET实现之(自动更新)