java 實(shí)現(xiàn)取int型的第二個(gè)字節(jié)的數(shù)
取int型的第二個(gè)字節(jié)的數(shù)
無(wú)意中看到某個(gè)題目,前提條件,一個(gè)byte最多表示256位,因?yàn)槠涫怯?個(gè)位表示 ,八個(gè)1 最多表示256位。
一個(gè)int由32位組成,所以是4個(gè)byte表示。題目要求是給定一個(gè)int數(shù)字,問(wèn)第二個(gè)byte是多少。剛開始不會(huì)寫。
再后來(lái)復(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.通過(guò)位運(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)文章
java使用WatchService監(jiān)控文件夾示例
本篇文章主要介紹了java使用WatchService監(jiān)控文件夾示例的資料,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2017-02-02mybatis plus動(dòng)態(tài)數(shù)據(jù)源切換及查詢過(guò)程淺析
這篇文章主要介紹了mybatis plus動(dòng)態(tài)數(shù)據(jù)源切換及查詢過(guò)程淺析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Spring依賴注入Dependency Injection的三種方式
依賴注入(Dependency Injection)和控制反轉(zhuǎn)(Inversion of Control)是同一個(gè)概念。具體含義是:當(dāng)某個(gè)角色(可能是一個(gè)Java實(shí)例,調(diào)用者)需要另一個(gè)角色(另一個(gè)Java實(shí)例,被調(diào)用者)的協(xié)助時(shí),在傳統(tǒng)的程序設(shè)計(jì)過(guò)程中,通常由調(diào)用者來(lái)創(chuàng)建被調(diào)用者的實(shí)例2023-02-02Java后臺(tái)接口開發(fā)初步實(shí)戰(zhàn)教程
下面小編就為大家分享一篇 Java后臺(tái)接口開發(fā)初步實(shí)戰(zhàn)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01