java中八種基本數(shù)據(jù)類型 Java如何實(shí)現(xiàn)byte和bit之間的互轉(zhuǎn)?
Java如何實(shí)現(xiàn)byte和bit之間的互轉(zhuǎn)?首先,我們需要了解Java中沒(méi)有位數(shù)據(jù)類型,所以如果要表示位,可以使用byte[]方法1 byte=8 bit只要提取每個(gè)位,就需要將其向右移動(dòng)到右邊的第一
Java如何實(shí)現(xiàn)byte和bit之間的互轉(zhuǎn)?
首先,我們需要了解Java中沒(méi)有位數(shù)據(jù)類型,所以如果要表示位,可以使用byte[]方法
1 byte=8 bit
只要提取每個(gè)位,就需要將其向右移動(dòng)到右邊的第一位,并在和1中執(zhí)行and運(yùn)算,這樣除所需位外,其他位都是0它的二進(jìn)制(1,0)正好是數(shù)字1,0;
因此我們可以將它封裝為://byte to bit
byte[]temp=新字節(jié)[8
]for(int i=7 i>=0 i--){
temp[i]=(byte)((A>> i)&;1) ]}
]return temp
}
//位到字節(jié)
公共靜態(tài)字節(jié)位(byte[]a){
byte temp=(byte)0
For(int i=0 i< bits i){
temp=temp | a[i]<< i]}]return temp]}
]希望能對(duì)您有所幫助,謝謝。
Java中,負(fù)值byte b=0xffffff9c占用多少空間?
即8位,取值范圍為0-255
二進(jìn)制表示法,即:0000 0000-1111 1111
,例如:
int a=1
double B=a,在Java中,將4字節(jié)的int類型轉(zhuǎn)換為8字節(jié)的double是必需的類型轉(zhuǎn)換:byte> short> int> long> float>在Java中,float是32位的,double是64位的。浮點(diǎn)和雙精度的范圍由索引中的位數(shù)決定。float的指數(shù)有8位,double的指數(shù)有11位。分布如下:浮點(diǎn):1位(符號(hào)位)8位(指數(shù)位)23位(尾位)雙:1位(符號(hào)位)11位(指數(shù)位)52位(尾位)。因此,float的指數(shù)范圍是-128~127,double的指數(shù)范圍是-1024~1023,索引數(shù)字被補(bǔ)碼除。浮動(dòng)范圍為-2^128~2^127,即-3.40e 38~3.40e 38;雙精度范圍為-2^1024~2^1023,即-1.79e 308~1.79e 308。