[英]How does Java.math.BigInteger.and() work?
它的按位與運算。在您的問題中,給定的鏈接顯示為:
110 & 011 = 010
110 is the binary value of 6.
011 is the binary value of 3.
結果010
是2(decimal)
的二進制。
它執行&(按位與)。 這意味着它將以二進制表示形式返回匹配的1。 例如,6是0110,3是0011,所以:6&3是0110&0011 = 0010 = 2
Java中的BigInteger與原始類型int和long相同,您在數值原始類型上執行的所有按位運算與BigInteger的and(),or(),xor()方法相同.BigInteger就像無限整數一樣,沒有固定值它的內存(例如int是4個字節,最小值是-2,147,483,648。(-2 ^ 31)最大值是2,147,483,647(含)。(2 ^ 31 -1))。BigInteger在內部存儲為
final int [] mag;
對於and()方法,如果您的BigInteger值大於int類型,它將添加到數組中。按位運算是在兩個輸入的整數數組之間進行的,例如您有兩個bigintegers x和y
它將像x.mag [0]和y.mag [0] x.mag [1]&y.mag [1]一樣進行計算。 。 最后,將它們各自返回的所有值相加並求和,得出最終值。最后,與按位運算符&,|;相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.