大数的四则运算之除法----Java代码实现

博客介绍了如何使用Java实现大数的除法运算,通过将除法转换为大数的乘法和加法来解决。文章提供了一个详细的过程,包括如何确保被除数和除数位数相同,寻找最大商的位数,以及如何进行减法和循环计算,直到余数小于原始被除数。还提到了大数相乘和相减的方法,并涉及除数的符号位和零值处理。
摘要由CSDN通过智能技术生成

声明:参考博文http://blog.csdn.net/sunkun2013/article/details/11833515
最后的思想实现的大数相除,以便自己以后查阅学习,此博主给出的详细图解,参考最后一种思想实现;现给出源代码;

此思想将大数的除法转化为大数的乘法和加法运算
比如800/7=114,余2;则

  1. 将被除数800和除数7通过补零的方式使其位数相同,即800/700;
  2. 如果补零后被除数<除数(即如果800<700),则给被除数补一个零,否则进行下一步运算;
  3. 循环找出 除数i(i数0~9之间的数)的结果小于被除数的最大i值,即7001=700<800<700*2=1400,此时找到的i=1;找到的i即为商的最高位数;
  4. 用被除数减去上述乘数结果作为下一轮的被除数;即800-700*1=100;
  5. 重复上述步骤,直到余数小于原始被除数为真结束;比如上述例子的长度只差为3-1=2,则此结果循环两次;
    上述步骤是针对被除数比除数大的情况,其他情况比较简单,不予赘述;
    Java实现大数相除代码
	/**
	 * 两个大正数相除
	 * @param num1
	 * @param num2
	 * @return
	 */
	public static String bigPositiveDiv(String num1,String num2) {
		String result = "";
		int len 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值