java大資料運算

2021-07-03 08:11:44 字數 2533 閱讀 5673

大數運算類似的文章有很多,本文主要分享一下自己的經驗。把實現思路寫一下,希望能夠幫助到有需要的人。

關於整數的運算通常有byte、short、int、long,當時數字有20位或者更長的時候,原有的資料型別已經不能使用,所以需要大數的運算,**實現如下:

/** 

* 實現大數的運算 通過byte陣列運算,實現了進製的靈活調整

* * @author wangzhaoguo

* */public class bignumberutil

if (flag != 0)

return value;

} /**

* 陣列減法運算 a-b

* * @param a

* @param b

* @param hex

* @return

*/public static byte sub(byte a, byte b, short hex)

value[i] = shorttobyte(t, hex);

} if (flag != 0)

return value;

} /**

* 大小比較運算

* * @param value

* @param temp

* @return 如果 value>temp 返回 1,小於-1,等於0

*/public static short compareto(byte value, byte temp) else if (t < 0)

} return 0;

} private static short bytetoshort(byte data, short hex)

private static byte shorttobyte(short num, short hex)

public static void main(string args) ;

byte b = new byte ;

byte c = bignumberutil.add(a, b, (short) 10);

system.out.println(stringutil.bytes2hexstring(a));

system.out.println(stringutil.bytes2hexstring(b));

system.out.println(stringutil.bytes2hexstring(c));

c = bignumberutil.add(a, b, (short) 16);

system.out.println(stringutil.bytes2hexstring(a));

system.out.println(stringutil.bytes2hexstring(b));

system.out.println(stringutil.bytes2hexstring(c));

c = bignumberutil.sub(b, a, (short) 16);

system.out.println(stringutil.bytes2hexstring(a));

system.out.println(stringutil.bytes2hexstring(b));

system.out.println(stringutil.bytes2hexstring(c));

c = bignumberutil.sub(b, a, (short) 10);

system.out.println(stringutil.bytes2hexstring(a));

system.out.println(stringutil.bytes2hexstring(b));

system.out.println(stringutil.bytes2hexstring(c));

short r = bignumberutil.compareto(b, a);

system.out.println(stringutil.bytes2hexstring(a));

system.out.println(stringutil.bytes2hexstring(b));

system.out.println(r);

r = bignumberutil.compareto(a, b);

system.out.println(stringutil.bytes2hexstring(a));

system.out.println(stringutil.bytes2hexstring(b));

system.out.println(r);

r = bignumberutil.compareto(b, b);

system.out.println(stringutil.bytes2hexstring(a));

system.out.println(stringutil.bytes2hexstring(b));

system.out.println(r);

} }

大資料運算

1 大數的資料型別設計 可以用乙個string和乙個long long型別來表示乙個大數型別,long long型別表示沒有超出範圍,string表示超出範圍的大數。在初始化的時候我們可以將string和long long都進行初始化,在運算的時候再判斷是用long long運算還是用string進...

Java大資料學習

背景 近年來大資料bigdata 人工智慧ai 物聯網iot等行業發展迅猛,很多人都想要從事大資料技術開發工作,但是,請問要怎麼做,路線是什麼?從 開始學?學哪些?這是乙個大問題。對於我自己來說,最近也在學一些大資料開發相關的技術,所以之前整理了乙份 大資料技術學習路線 希望對你有所幫助。學習規劃 ...

Java資料基本運算

算術運算子有加減乘除,符號分別是 另外還有取模運算子 以及自增 和自減 運算子。注意事項 int相乘可能為long,需要其中乙個標識為long,後面加l或l,long a 2147483647 2l 整數相除不是四捨五入,而是捨去小數字。如果要得到小數結果,需要將其中標識double,double ...