我有一段代碼在哪裏使用BigInteger.and操作,我不確定這是幹什麼的。在javadoc寫bigIng & bigInt,但這並沒有幫助我。在這個例子中有人可以解釋我嗎?BigInteger.and在做什麼
512.and(113078212145816597093331040047546785012958969400039613319782796882727665664)
我有一段代碼在哪裏使用BigInteger.and操作,我不確定這是幹什麼的。在javadoc寫bigIng & bigInt,但這並沒有幫助我。在這個例子中有人可以解釋我嗎?BigInteger.and在做什麼
512.and(113078212145816597093331040047546785012958969400039613319782796882727665664)
的and
操作返回上個大整數的二進制表示執行bitwise and的結果。在您的具體示例中,第10位被提取,因爲512的二進制表示形式爲1000000000
。
&
在Java中是按位和運算符。有關解釋請參見http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html。
1 & 1 == 1
0 & 1 == 0
1 & 0 == 0
0 & 0 == 0
所以這個bigInteger轉換爲字節數組,然後做這個操作? – hudi
'BigInteger'實現由'int []'支持,它支持'&'就好。 –