Java 中Integer是int的派生類型,內置了一些常用的對int類型數據的處理方法,下面對其簡單的分析。
1、String toBinaryString(int i) 給定一個int類型數據,返回這個數據的二進位字符串。
示例:
intx=1;
int y=2;
int z=3;
System.out.println(x+"的二進位表示為:"+Integer.toBinaryString(x));
System.out.println(y+"的二進位表示為:"+Integer.toBinaryString(y));
System.out.println(z+"的二進位表示為:"+Integer.toBinaryString(z));
運行結果為:
1的二進位表示為:1
2的二進位表示為:10
3的二進位表示為:11
2、int bitCount(int i) 給定一個int類型數據,返回這個數據的二進位串中「1」的總數量。
示例:
int x=1;
int y=2;
int z=3;
System.out.println(x+"的二進位表示為:"+Integer.toBinaryString(x)+" bitCount方法返回值為:"+Integer.bitCount(x));
System.out.println(y+"的二進位表示為:"+Integer.toBinaryString(y)+" bitCount方法返回值為:"+Integer.bitCount(y));
System.out.println(z+"的二進位表示為:"+Integer.toBinaryString(z)+" bitCount方法返回值為:"+Integer.bitCount(z));
運行結果為:
1的二進位表示為:1 bitCount方法返回值為:1
2的二進位表示為:10 bitCount方法返回值為:1
3的二進位表示為:11 bitCount方法返回值為:2
3、int numberOfLeadingZeros(int i) 給定一個int類型數據,返回這個數據的二進位串中從最左邊算起連續的「0」的總數量。因為int類型的數據長度為32所以高位不足的地方會以「0」填充。
示例:
int x=1;
int y=2;
int z=5;
System.out.println(x+"的二進位表示為:"+Integer.toBinaryString(x)+"最左邊開始數起連續的0的個數為:"+Integer.numberOfLeadingZeros(x));
System.out.println(y+"的二進位表示為:"+Integer.toBinaryString(y)+"最左邊開始數起連續的0的個數為:"+Integer.numberOfLeadingZeros(y));
System.out.println(z+"的二進位表示為:"+Integer.toBinaryString(z)+"最左邊開始數起連續的0的個數為:"+Integer.numberOfLeadingZeros(z));
運行結果為:
1的二進位表示為:1最左邊開始數起連續的0的個數為:31
2的二進位表示為:10最左邊開始數起連續的0的個數為:30
5的二進位表示為:101最左邊開始數起連續的0的個數為:29
4、int numberOfTrailingZeros(int i) 給定一個int類型數據,返回這個數據的二進位串中從最右邊算起連續的「0」的總數量。因為int類型的數據長度為32所以高位不足的地方會以「0」填充。
示例:
int x=1;
int y=2;
int z=5;
System.out.println(x+"的二進位表示為:"+Integer.toBinaryString(x)+"最右邊開始數起連續的0的個數為:"+Integer.numberOfTrailingZeros(x));
System.out.println(y+"的二進位表示為:"+Integer.toBinaryString(y)+"最右邊開始數起連續的0的個數為:"+Integer.numberOfTrailingZeros(y));
System.out.println(z+"的二進位表示為:"+Integer.toBinaryString(z)+"最右邊開始數起連續的0的個數為:"+Integer.numberOfTrailingZeros(z));
運行結果為:
1的二進位表示為:1最右邊開始數起連續的0的個數為:0
2的二進位表示為:10最右邊開始數起連續的0的個數為:1
5的二進位表示為:101最右邊開始數起連續的0的個數為:0
5、Integer decode(String nm) 給定一個10進位,8進位,16進位中任何一種進位的字符串,該方法可以將傳入的字符串轉化為10進位數字的Integer類型並返回。
示例:
String a="010";
String b="10";
String c="0X10";
System.out.println("8進位數據"+a+" 解析結果為:"+Integer.decode(a));
System.out.println("10進位數據"+b+" 解析結果為:"+Integer.decode(b));
System.out.println("16進位數據"+c+" 解析結果為:"+Integer.decode(c));
運行結果為:
8進位數據010 解析結果為:8
10進位數據10 解析結果為:10
16進位數據0X10 解析結果為:16
=========================
尚學堂--軟體開發免費試學時間
Java|Android|Web前端
報名有禮:
1. 獲得千元助學金
2. 獲得價值萬元的視頻教材
3. 免費試學七天
免費試學時間:
每周二、四、六
上課地點:
陝西省西安市高新區科技二路西安軟體園天澤大廈五樓
聯繫方式:
QQ:3500819260
電話:15029923798(微信同號)
參與方法:
1. 點擊『閱讀原文』提交信息
2. 公眾號後臺回復『試聽』
即可獲得免費試學機會;兩人同行,更多豪禮相送;名額有限,先到先得。
學校組團參加的同學有車接送,接送地點發至後臺由工作人員處理。
=========================
關注尚學堂--輕鬆學編程
每天海量編程學習資料等你來領
Java | Web | Adnroid
更多閱讀:
2018年自學編程的學習計劃表單
程式設計師不要跟算法過不去!算法技術總結
大數據開發學習--推薦書單
點擊下方"閱讀原文",獲取免費聽課名額