成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

使用Java怎么實現(xiàn)兩個大數(shù)之間的運算

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)使用Java怎么實現(xiàn)兩個大數(shù)之間的運算,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)公司是一家專業(yè)提供新余企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為新余眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。

大數(shù)相減

import java.util.Scanner;
/*
 進行大數(shù)相減,只能對兩個正數(shù)進行相減
*/
public class BigNumber
{
	public static void main(String[] args)
	  {
		Scanner scan=new Scanner(System.in);
		String a,b;
		while (scan.hasNext())
		    {
			BigNumber big=new BigNumber();
			a=scan.nextLine();
			b=scan.nextLine();
			System.out.println(big.bigNumberSub(a,b));
		}
	}
	public String bigNumberSub(String x,String y)
	  {
		//String result=null;
		char[] a=x.toCharArray();
		char[] b=y.toCharArray();
		int lenA=a.length;
		int lenB=b.length;
		int len=lenA>lenB?lenA:lenB;
		int[] result=new int[len];
		//字符串反轉(zhuǎn)
		char[] A=new char[lenA];
		char[] B=new char[lenB];
		for (int i=0;i<lenA;i++)
		    {
			A[i]=a[lenA-i-1];
		}
		for (int j=0;j<lenB;j++)
		    {
			B[j]=b[lenB-j-1];
		}
		//判斷最終結(jié)果的正負
		char sign='+';
		if (lenA<lenB)
		    {
			sign='-';
		} else if(lenA>lenB)
		    {
			sign='+';
		} else
		    {
			for (int i=lenA-1;i>=0;i--)
			      {
				if (A[i]<B[i])
				        {
					sign='-';
					break;
				} else if(A[i]>B[i])
				        {
					sign='+';
					break;
				}
			}
		}
		//      
		int aint,bint;
		for (int i=0;i<len;i++)
		    {
			aint=i<lenA?A[i]-'0':0;
			bint=i<lenB?B[i]-'0':0;
			if (sign=='+')
			      {
				result[i]=aint-bint;
			} else 
			      {
				result[i]=bint-aint;
			}
		}
		//借位處理
		for (int j=0;j<len;j++)
		    {
			if (result[j]<0)
			      {
				result[j+1]=result[j+1]-1;
				result[j]=result[j]+10;
			}
		}
		//將結(jié)果對應(yīng)為0的位置取消掉
		StringBuilder sb=new StringBuilder();
		Boolean flag=true;
		//防止結(jié)果集中的地位出現(xiàn)0
		if (sign=='-')
		    {
			sb.append(sign);
		}
		for (int i=len-1;i>=0;i--)
		    {
			if (result[i]==0&&flag)
			      {
			} else
			      {
				sb.append(result[i]);
				flag=false;
			}
		}
		return sb.toString();
		//return result;
	}
}

結(jié)果:

使用Java怎么實現(xiàn)兩個大數(shù)之間的運算

在Java中,還可以通過BigInteger類來解決精度問題。

import java.util.Scanner;
import java.math.BigInteger;
/*
 進行大數(shù)相加,
*/
public class BigNumber
{
	public static void main(String[] args)
	  {
		Scanner scan=new Scanner(System.in);
		while (scan.hasNext())
		    {
			BigInteger b1=new BigInteger(scan.nextLine());
			BigInteger b2=new BigInteger(scan.nextLine());
			System.out.println(b1.add(b2));
			//System.out.println(000);
		}
	}
}

結(jié)果

使用Java怎么實現(xiàn)兩個大數(shù)之間的運算

接著再看一則代碼示例:

/**
 * 大數(shù)運算
 * BigInteger
 * 求91的5次方
 * 求它除以100的余數(shù)
 * 大數(shù)運算Biginteger類的方法調(diào)用
 */
package com.test1;
import java.math.*;
import java.math.BigInteger;
public class test100 {
 
  /**
   * @param args
   */
  static BigInteger k=BigInteger.valueOf(1);
  static BigInteger j=BigInteger.valueOf(91);
  static BigInteger n;
  BigDecimal l=new BigDecimal("100");
  static BigInteger m=new BigInteger("100");
  public static void main(String[] args) {
    // TODO Auto-generatedmethod stub
   
//   k=BigInteger.valueOf(1);
//   k=new BigInteger("1");
    for(int i=1;i<=5;i++){
      k=k.multiply(j);
      System.out.println(k.toString());
//     n=k.remainder(m);
      n=k.remainder(m);
      System.out.println(n.toString());
      
    }
 
  }
 
}

結(jié)果:

使用Java怎么實現(xiàn)兩個大數(shù)之間的運算

上述就是小編為大家分享的使用Java怎么實現(xiàn)兩個大數(shù)之間的運算了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文名稱:使用Java怎么實現(xiàn)兩個大數(shù)之間的運算
標(biāo)題來源:http://jinyejixie.com/article28/psgccp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、、關(guān)鍵詞優(yōu)化、虛擬主機、網(wǎng)站維護、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
南投县| 普定县| 广汉市| 红河县| 绵竹市| 锡林浩特市| 乌苏市| 都昌县| 浏阳市| 新竹县| 乌海市| 临猗县| 稻城县| 宾川县| 安塞县| 台中市| 嘉义县| 榆林市| 高唐县| 义乌市| 外汇| 富宁县| 县级市| 双柏县| 颍上县| 盐池县| 无为县| 互助| 石嘴山市| 广南县| 香河县| 和林格尔县| 屏边| 方正县| 紫阳县| 麻阳| 平阴县| 江油市| 罗定市| 罗江县| 惠来县|