java 實(shí)現(xiàn)取int型的第二個(gè)字節(jié)的數(shù)
取int型的第二個(gè)字節(jié)的數(shù)
無意中看到某個(gè)題目,前提條件,一個(gè)byte最多表示256位,因?yàn)槠涫怯?個(gè)位表示 ,八個(gè)1 最多表示256位。
一個(gè)int由32位組成,所以是4個(gè)byte表示。題目要求是給定一個(gè)int數(shù)字,問第二個(gè)byte是多少。剛開始不會(huì)寫。
再后來復(fù)習(xí)nio時(shí),突然想到這題。
1.首先創(chuàng)建 Bytebuffer
其內(nèi)部是由byte組成的數(shù)組。因?yàn)槲覀儽4嬉粋€(gè)int 只需要?jiǎng)?chuàng)建一個(gè)大小為4byte的即可。下面看代碼。
? public static void main(String[] args) throws IOException {
? ? ? ? ByteBuffer bb=ByteBuffer.allocate(4); //創(chuàng)建大小為4的byteBuffer
? ? ? ? bb.asIntBuffer().put(5566); //以int視圖將任意int數(shù)存進(jìn)去 ? ? ?
? ? ? ? System.out.println(Arrays.toString(bb.array())); ? ?//打印出改bytebuffer,其中想要第幾個(gè)byte就取出就好了
? ? }結(jié)果
[0, 0, 21, -66]
2.通過位運(yùn)算計(jì)算
首先
int a=5566;
a=a>>8;
a=a&0xff;
得到的a就是 第二位的值
3.附一個(gè)int轉(zhuǎn)byte數(shù)組
? private static ?byte[] intToByte(int in){
? ? byte [] b=new byte[4];
? ? b[3]= (byte) (in&0xff);
? ? b[2]= (byte) (in>>8 &0xff);
? ? b[1]= (byte) (in>>16 &0xff);
? ? b[0]= (byte) (in>>24 &0xff);
? ? return b;
? ? }int的取值范圍
int型的數(shù)據(jù)字節(jié)長(zhǎng)度是4,一共是32位,第一位用于表示正負(fù)號(hào),其他位的數(shù)字組成它所代表的值,
例如7的二進(jìn)制表示形式為
00000000 00000000 00000000 00000111
當(dāng)表示負(fù)數(shù)的時(shí)候,則采用的是補(bǔ)碼的形式,第一位是1,
例如-7的二進(jìn)制表示為
11111111 11111111 11111111 11111001
int型數(shù)據(jù)的取值范圍:-2^31—-2^31-1
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Java利用移位運(yùn)算將int型分解成四個(gè)byte型的方法
- java實(shí)現(xiàn)字符串轉(zhuǎn)String數(shù)組的方法示例
- Java List轉(zhuǎn)換成String數(shù)組幾種實(shí)現(xiàn)方式詳解
- java String 轉(zhuǎn)成Double二維數(shù)組的方法
- java String[]字符串?dāng)?shù)組自動(dòng)排序的簡(jiǎn)單實(shí)現(xiàn)
- Java中char數(shù)組(字符數(shù)組)與字符串String類型的轉(zhuǎn)換方法
- Java如何將int型數(shù)組轉(zhuǎn)為String型數(shù)組
相關(guān)文章
springboot集成activemq的實(shí)例代碼
本篇文章主要介紹了springboot集成activemq的實(shí)例代碼,詳細(xì)的介紹了ActiveMQ和Spring-Boot 集成 ActiveMQ,有興趣的可以了解下。2017-05-05
使用java反射將結(jié)果集封裝成為對(duì)象和對(duì)象集合操作
這篇文章主要介紹了使用java反射將結(jié)果集封裝成為對(duì)象和對(duì)象集合操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Java的GUI編程之列表和組合框的設(shè)計(jì)使用
這篇文章主要介紹了Java的GUI編程之列表和組合框的設(shè)計(jì)使用,是Java圖形界面編程中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10
Spring Security Oauth2.0 實(shí)現(xiàn)短信驗(yàn)證碼登錄示例
本篇文章主要介紹了Spring Security Oauth2.0 實(shí)現(xiàn)短信驗(yàn)證碼登錄示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
netty對(duì)proxy protocol代理協(xié)議的支持詳解
這篇文章主要為大家介紹了netty對(duì)proxy protoco代理協(xié)議的支持詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07

