真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java大數(shù)的減法代碼 大數(shù)的加減乘除代碼

JAVA大數(shù)相減

既然是“大數(shù)”,那就可能出現(xiàn)BigInteger長(zhǎng)度不夠的情況,所以不能直接使用樓上的方法。

成都創(chuàng)新互聯(lián)成立于2013年,先為大寧等服務(wù)建站,大寧等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為大寧企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

關(guān)于“大數(shù)”的定義,需要樓主提供問題細(xì)節(jié):

1.被減數(shù)、減數(shù)是否會(huì)出現(xiàn)負(fù)數(shù)

2.結(jié)果是否會(huì)出現(xiàn)負(fù)數(shù)

負(fù)數(shù)情況可先轉(zhuǎn)化為絕對(duì)值的加減,然后根據(jù)大小關(guān)系為結(jié)果添加正負(fù)號(hào)解決。所以,暫時(shí)先討論最簡(jiǎn)單、最基本的情況即 a,b都為正整數(shù),且ab的情況

1.建議把兩個(gè)數(shù)組改成倒序排列 這樣相減時(shí)可以由a[0]和b[0]開始,即int[] a = { 7, 0, 1, 8, 5, 3, 7 }; int[] b = { 2, 4, 7, 4, 5};

2.遍歷兩個(gè)數(shù)組a和b,a[i]-b[i],夠減則直接把結(jié)果存入a[i],不夠減則a[i]+10-b[i]存入a[i],并且a[i+1]=a[i+1]-1,(這里如果不夠減,再借位a[i+1]=a[i+1]+10-1;a[i+2]=a[i+2]-1,以此類推,可用遞歸實(shí)現(xiàn))遍歷至b.length結(jié)束,然后再將a[i]倒序輸出,即為結(jié)果。

求JAVA代碼,要求輸入兩個(gè)數(shù),實(shí)現(xiàn)超大數(shù)的相加和相減

package test;

public class DoubleTest {

/**

* @param args

*/

public static void main(String[] args) {

System.out.println(Long.MAX_VALUE);//最大數(shù):9223372036854775807

System.out.println(Long.MIN_VALUE);//最小數(shù):-9223372036854775808

System.out.println(Double.MAX_VALUE);//最大數(shù):1.7976931348623157E308

System.out.println(Double.MIN_VALUE);//最小數(shù):4.9E-324

Double a = 9223372036854775807d;

Double b = 9223372036854775807d;

Double c =a+b;

System.out.println(c);

}

}

用Double型吧。最大了。

運(yùn)用JAVA中大數(shù)類實(shí)現(xiàn)大數(shù)的四則運(yùn)算

import java.math.BigInteger;

public class BigIntegerGet {

public String getAdd(String Str1,String Str2){

String Str3=new String();

BigInteger BigInt1=new BigInteger(Str1);

BigInteger BigInt2=new BigInteger(Str2);

BigInt1=BigInt1.add(BigInt2);

Str3=BigInt1.toString();

return Str3;

}

public String getSubtract(String Str1,String Str2){

String Str3=new String();

BigInteger BigInt1=new BigInteger(Str1);

BigInteger BigInt2=new BigInteger(Str2);

BigInt1=BigInt1.subtract(BigInt2);

Str3=BigInt1.toString();

return Str3;

}

public String getMultiply(String Str1,String Str2){

String Str3=new String();

BigInteger BigInt1=new BigInteger(Str1);

BigInteger BigInt2=new BigInteger(Str2);

BigInt1=BigInt1.multiply(BigInt2);

Str3=BigInt1.toString();

return Str3;

}

public String getDivide(String Str1,String Str2){

String Str3=new String();

BigInteger BigInt1=new BigInteger(Str1);

BigInteger BigInt2=new BigInteger(Str2);

BigInt1=BigInt1.divide(BigInt2);

Str3=BigInt1.toString();

return Str3;

}

}

java.求兩個(gè)大數(shù)的精確加減法,a=4632864832684683568465765487657665765236465244

花了十分鐘,親手給你訂制的,測(cè)試過了正確

下面給你貼出源代碼

public class AddSub {

public static void main(String[] args) {

String a="4632864832684683568465765487657665765236465244";

String b="47";

int []pa=stringToInts(a);

int []pb=stringToInts(b);

String ans_add=add(pa, pb);

String ans_sub=sub(pb,pa);

System.out.println("相加結(jié)果是:"+ans_add);

System.out.println("相減結(jié)果是:"+ans_sub);

}

public static int[] stringToInts(String s){

int[] n = new int[s.length()];

for(int i = 0;is.length();i++){

n[i] = Integer.parseInt(s.substring(i,i+1));

}

return n;

}

public static String add(int []a,int []b){

StringBuffer sb=new StringBuffer();

int a_len= a.length-1;

int b_len=b.length-1;

int jinwei=0;//進(jìn)位

while(a_len=0||b_len=0){

int temp=0;

if(a_len=0b_len=0){

temp=a[a_len]+b[b_len]+jinwei;

}else if(a_len=0){

temp=a[a_len]+jinwei;

}else if(b_len=0){

temp=b[b_len]+jinwei;

}

sb.append(temp%10+"");

jinwei=temp/10;

a_len--;b_len--;

}

return getNum(sb.reverse());

}

public static String sub(int []a,int []b){

StringBuffer sb=new StringBuffer();

boolean flag=false;//判斷a是不是比b小

if(a.lengthb.length){

int c[]=a;

a=b;b=c;

flag=true;

}

int a_len= a.length-1;

int b_len=b.length-1;

int jiewei=0;//借位

while(a_len=0||b_len=0){

int temp=0;

if(a_len=0b_len=0){

if((a[a_len]-jiewei)b[b_len]){

temp=a[a_len]+10-b[b_len]-jiewei;

jiewei=1;

}else{

temp=a[a_len]-b[b_len]-jiewei;

}

}else if(a_len=0){

temp=a[a_len]-jiewei;

jiewei=0;

}

sb.append(temp+"");

a_len--;b_len--;

}

if(flag){

return getNum(sb.append("-").reverse());

}

return getNum(sb.reverse());

}

//去掉最前面的0

public static String getNum(StringBuffer sb){

while(sb.length() 1 sb.charAt(0) == '0') {

sb.deleteCharAt(0);

}

return sb.toString();

}

}


當(dāng)前名稱:java大數(shù)的減法代碼 大數(shù)的加減乘除代碼
文章網(wǎng)址:http://weahome.cn/article/hijoid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部