A. java中怎麼將int數據轉換為byte數據
JAVA中根據以下代碼將int數據轉換為byte數據:
public static byte[] int32ToBytes(int val) {
int size = Integer.SIZE / Byte.SIZE;
byte[] ret = new byte[size];
for (int i = 0; i < size; ++i) {
ret[i] = (byte) (val << (8 * i) >> 56);
}
return ret;
}
(1)byte數組轉換成byte數組java擴展閱讀
Java也提供了一個byte數據類型,並且是基本類型。java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。
byte,即位元組,由8位的二進制組成。在Java中,byte類型的數據是8位帶符號的二進制數。在計算機中,8位帶符號二進制數的取值范圍是[-128, 127],所以在Java中,byte類型的取值范圍也是[-128, 127]。
運算規則:
####正數的最高位都是 0 ,正數的值就是二進製表示的值。 ####
####負數的最高位都是 1 ,負數的值是 取反後加一 然後加個負號得到得值。 ####
B. java把一個byte類型的數據的每一位都輸出怎麼做
//方法一
publicclassTest{
publicstaticvoidmain(String[]args){
bytea=123;
char[]arr=String.valueOf(a).toCharArray();
for(inti=0;i<arr.length;i++){
System.out.print(arr[i]+"");
}
}
}
//方法二
publicclassTest{
publicstaticvoidmain(String[]args){
bytea=123;
Stringstr=String.valueOf(a);
for(inti=0;i<str.length();i++){
System.out.print(str.substring(i,(i+1))+"");
}
}
}
//方法三
publicclassTest{
publicstaticvoidmain(String[]args){
bytea=123;
Byteb=newByte(a);
System.out.println(b.byteValue());
}
}
C. java如何把byte數組里的十六進制轉換成int類型,如下圖的數據,雜么轉換,跪求方法和代碼
示例
packagecom.sdvdxl.other;
publicclassTest{
publicstaticvoidmain(String[]args){
byte[]bytes=newbyte[]{0x00,0x53};
for(byteb:bytes){
System.out.println(Integer.valueOf(b));
}
}
}
結果:
0
83
PS : 使用的時候會自動轉換成10進制的