【算法】大数四则运算

这篇博客主要探讨了如何实现大数的四则运算,作者分享了在完成作业过程中遇到的不同算法,包括3位数运算、移位运算以及仿手工运算。尽管参考Python的大数运算可能是最佳选择,但作者选择了实现简单易用的仿手工运算算法。
摘要由CSDN通过智能技术生成

最近在写大数四则运算的作业,发现网上有很多相关的算法,有3位作四则运算的,也有仿造计算机做移位运算的,当然,有仿照手工运算的算法。

最好的算法应该可以参考python的大数运算,不过本人还是自己实现仿手工运算的算法:好用、简单。


/*****************************************************************
 *
 *  Big number add/minus/multiply/divide
 *  Copyright: Free
 *  Author: Hou Hongwei
 *
 *
 ****************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void reverse(char *in, char *out, int len)
{
    int i, j;
    i = 0;
    j = len;

    while (i < len && j >= 0)
    {
        out[i++] = in[--j];
    }
    out[len] = '\0';
    //printf("reverse from %s to %s\n", in, out);
}

void trim(char *inout, int *len)
{
    int i;
    i = (*len) - 1;
    while (inout[i] == '0')
    {
        if(i > 0) inout[i] = 0;
        i--;
    }
    
    (*len) = i + 1;

}

int is_bigger(char *x, char *y)
{
    int i, j;
    int xlen, ylen;

    xlen = strlen(x);
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值