国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

java權(quán)限控制BigInteger.setBit()詳解

2019-11-07 23:19:59
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

最近碰到java的BigInteger類,也就是大整數(shù)類,這個(gè)類的功能并不是只有無(wú)限大整數(shù)的功能,它還具有權(quán)限控制的能力。

先給個(gè)網(wǎng)上反復(fù)轉(zhuǎn)載的代碼:

package com.hundsun.network.post.settle.job;    import java.math.BigInteger;    public class TestBigInteger {        public static void main(String[] args) {          //初始          BigInteger num = new BigInteger("0");          num = num.setBit(2);          num = num.setBit(1);          System.out.PRintln(num);          System.out.println(num.testBit(2));          System.out.println(num.testBit(1));          System.out.println(num.testBit(3));      }    }

輸出結(jié)果為

6

true

true

false

        首先,實(shí)例化一個(gè)BigInteger對(duì)象,該對(duì)象初始化值為0,然后調(diào)用num.setBit(2)方法,這個(gè)方法的含義按照API解釋,將先把num做一個(gè)二進(jìn)制數(shù)據(jù),然后將二進(jìn)制中的第2位設(shè)置為1,最后返回該數(shù)據(jù)。我們知道0的二進(jìn)制可以寫成00000000,然后將第2位置加上1,也就變成了00000100(注意二進(jìn)制是從第0位開始的),然后在調(diào)用num.setBit(1),把第1位設(shè)置成1,num應(yīng)該等于00000110,所以num對(duì)應(yīng)的十進(jìn)制值為6。其實(shí)num.setBit(n)方法也可看成 num|2^n,“|”是位運(yùn)算符“或”。

      現(xiàn)在碰到num.testBit(2)方法,該方法就是就是判斷00000110的第2位是否為1,所以這個(gè)應(yīng)該返回true,類似,num.testBit(1)也返回true,num.testBit(3)因?yàn)榈?位是0,所以返回false。num.testBit(n)可看成num&2^n,“&”是位運(yùn)算符“與”。

       


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙陵县| 开平市| 顺义区| 武邑县| 余干县| 濮阳市| 怀安县| 治多县| 达尔| 舞阳县| 丰都县| 察哈| 克东县| 夏邑县| 喀喇| 黄冈市| 台北县| 桂阳县| 盘锦市| 吉安市| 曲松县| 巴彦县| 仁怀市| 扎兰屯市| 鲁山县| 永昌县| 福海县| 灯塔市| 克什克腾旗| 丹寨县| 澳门| 准格尔旗| 旬邑县| 榕江县| 靖西县| 徐汇区| 东乡| 专栏| 北安市| 固原市| 游戏|