導航:首頁 > 編程語言 > javabyte轉二進制

javabyte轉二進制

發布時間:2022-05-12 22:08:23

java byte 二進制

byte a = 1111; // 這樣定義,這個 1111 到底是二進制,還是10進制,還是 X 進制,系統是不知道的。。
在這里,1111 默認被當作 10 進制。。
Java 不支持顯式輸入二進制,默認為 10 進制,0 開頭為8進制,比如 01111,0x開頭為16 進制,比如 0x11。。
byte 數據類型所表示的范圍為 -128~127,已經超出范圍了。。

Ⅱ java里怎樣把文件轉換成二進制

轉換文件成為二進制數據並保存的Java代碼:

取出數據並還原文件到本地的java代碼:

[java]view plain//讀取資料庫二進制文件

publicvoidreaderJpg()throwsSQLException

{

connection=connectionManager.getconn();//自己連接自己的資料庫

StringsqlString="selectimagesfromsave_imagewhereid=4";//從資料庫中讀出要還原文件的二進制碼,這里我讀的是自己的資料庫id為4的文件

Filefile=newFile("E:\1.jpg");//本地生成的文件

if(!file.exists())

{

try{

file.createNewFile();

}catch(Exceptione){

e.printStackTrace();

}

}

try{

byte[]Buffer=newbyte[4096*5];

statement=connection.prepareStatement(sqlString);

resultSet=statement.executeQuery();

if(resultSet.next())

{

FileOutputStreamoutputStream=newFileOutputStream(file);

InputStreamiStream=resultSet.getBinaryStream("images");//去欄位用getBinaryStream()

intsize=0;

while((size=iStream.read(Buffer))!=-1)

{

System.out.println(size);

outputStream.write(Buffer,0,size);

}

}

}catch(Exceptione){

e.printStackTrace();

}

}

Ⅲ java如何將BYTE型數轉化為八位二進制,及如何將八位二進制數轉化為Byte型的。

使用八進製表示整數,只要在十進制數前加一個0就可以了,比如12的八進制就i=012,這樣在輸出時System.out.println("i=" +i)就是i=10

Ⅳ JAVA中byte類型的介紹。 謝謝

1、在Java中,byte類型的數據是8位帶符號的二進制數。最高位表示正負,0為正,1為負。

2、java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。

3、正數的最高位都是 0 ,正數的值就是二進製表示的值。

4、負數的最高位都是 1 ,負數的值是 取反後加一 然後加個負號得到的值。

(4)javabyte轉二進制擴展閱讀

1、java基本數據類型

JAVA中一共有八種基本數據類型,分別是byte、short、int、long、float、double、char、boolean。

2、java各數據類型取值范圍

byte,整型,1個位元組,范圍:-2的7次方 ~ 2的7次方-1;

short,整型,2個位元組,范圍:-2的15次方 ~ 2的15次方-1;

int,整型,4個位元組,范圍:-2的31次方 ~ 2的31次方-1;

long,整型,8個位元組,范圍:-2的63次方 ~ 2的63次方-1;

float,浮點型,4個位元組,范圍:3.402823e+38 ~ 1.401298e-45;

double,浮點型,8個位元組,范圍:1.797693e+308~ 4.9000000e-324;

char,文本型,2個位元組,范圍:0~2的16次方-1;

boolean,布爾型,1個位元組,范圍:true/false;

參考資料

網路-java字元型

Ⅳ java中二進制怎麼表示

二進制是計算技術中廣泛採用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進制系統,數據在計算機中主要是以補碼的形式存儲的。計算機中的二進制則是一個非常微小的開關,用「開」來表示1,「關」來表示0。
1、Java中定義兩個數,然後分別列印出它們的二進製表示:
System.out.println("Java二進制7: "+Integer.toBinaryString(7));
System.out.println("Java二進制-7: "+Integer.toBinaryString(-7));
輸出:
Java二進制7:
111
Java二進制-7:

可以看到Java中對於數的表示屬於有符號的,那麼這個是怎麼來的?
7好辦,直接是111
-7轉化二進制的過程:
(1)把-7轉化成7,二進制是
111
(2)Java中對於不滿32位的int二進制自動補齊,所以變成了
(29個0)111
(3)然後取反
(29個1)000
(4)然後加1
(29個1)001
這就是-7的整個轉化過程,那麼現在有一個問題,如果有一個文本文件,每一行有八位二進制,表示的范圍是(0~255),也就是用一個位元組表示的無符號整數,如果現在要把這些二進制轉化成整數存到文件里應該怎麼做?
文件:
line1

11111110

(254)
line2

00000000

(0)
假設用Java讀進了第一行,那麼直接列印出來的值是-2,不符合要求,這時讓-2變254有兩種辦法:
(1)用Java自帶的方法,Byte.toUnsignedInt((byte)
-2)(ps.-2的二進製表示就是line1),這樣列印出來的就是254了
System.out.println(Byte.toUnsignedInt((byte) -2));
輸出:254
第二種方法的原理:
Java中-2的二進製表示:(這個二進制的後八位就是line1,可以直接列印的話Java把其當做了負數
-2)
Java中255的二進製表示:(24個『0』,8個『1』)
做與後變為:
這樣做與後表示的數就是正數了
254。可以想一下,假設每一行用2個位元組表示一個無符號數,那麼可以把每一行變成正整數用方法2怎麼做?
2.Java中的>>和>>>
'>>'
算術右移,向右移左邊補符號位
'>>>'
邏輯右移,向右移左邊補0
System.out.println("Java二進制-7: "+Integer.toBinaryString(-7));
System.out.println("-7>>2: "+Integer.toBinaryString(-7>>2));
System.out.println("-7>>>2: "+Integer.toBinaryString(-7>>>2));輸出:
Java二進制-7:
-7>>2:
-7>>>2: //正常應該這樣(00)左邊的兩個0不顯示

Ⅵ Java 十進制轉二進制!要求如下: Byte Short Int Long 跟據不同的bits數轉二進制!如:50轉"00110010"

int i=50;
System.out.println(Integer.toBinaryString(i));

Ⅶ java怎麼把一個byte變數按二進制輸出

/**
* 將byte轉換為一個長度為8的byte數組,數組每個值代表bit
*/
public static byte[] getBooleanArray(byte b) {
byte[] array = new byte[8];
for (int i = 7; i >= 0; i--) {
array[i] = (byte)(b & 1);
b = (byte) (b >> 1);
}
return array;
}
/**
* 把byte轉為字元串的bit
*/
public static String byteToBit(byte b) {
return ""
+ (byte) ((b >> 7) & 0x1) + (byte) ((b >> 6) & 0x1)
+ (byte) ((b >> 5) & 0x1) + (byte) ((b >> 4) & 0x1)
+ (byte) ((b >> 3) & 0x1) + (byte) ((b >> 2) & 0x1)
+ (byte) ((b >> 1) & 0x1) + (byte) ((b >> 0) & 0x1);
}

使用:
byte b = 0x35; // 0011 0101
// 輸出 [0, 0, 1, 1, 0, 1, 0, 1]
System.out.println(Arrays.toString(getBooleanArray(b)));
// 輸出 00110101
System.out.println(byteToBit(b));
// JDK自帶的方法,會忽略前面的 0
System.out.println(Integer.toBinaryString(0x35));

Ⅷ java怎樣把字元串轉化為二進制形式

importjava.io.UnsupportedEncodingException;
importjava.util.Arrays;

/*
*String(byte[]bytes,StringcharsetName):通過指定的字元集解碼位元組數組
*byte[]getBytes(StringcharsetName):使用指定的字元集合把字元串編碼為位元組數組
*
*編碼:把看得懂的變成看不懂的
*String--byte[]
*
*解碼:把看不懂的變成看得懂的
*byte[]--String
*
*舉例:諜戰片(發電報,接電報)
*
*碼表:小本子
* 字元 數值
*
*要發送一段文字:
* 今天晚上在老地方見
*
* 發送端:今--數值--二進制--發出去
* 接收端:接收--二進制--十進制--數值--字元--今
*
* 今天晚上在老地方見
*
*編碼問題簡單,只要編碼解碼的格式是一致的。
*/
publicclassStringDemo{
publicstaticvoidmain(String[]args){
Strings="你好";

//String--byte[]
byte[]bys=s.getBytes();//[-60,-29,-70,-61]
//byte[]bys=s.getBytes("GBK");//[-60,-29,-70,-61]
//byte[]bys=s.getBytes("UTF-8");//[-28,-67,-96,-27,-91,-67]
System.out.println(Arrays.toString(bys));

//byte[]--String
Stringss=newString(bys);//你好
//Stringss=newString(bys,"GBK");//你好
//Stringss=newString(bys,"UTF-8");//???
System.out.println(ss);
}
}

Ⅸ 在java中怎麼把位元組數組轉換成二進制字元串

可以使用Integer類的toBinaryString方法,例如:

bytea=0x45;
StringbinStr=Integer.toBinaryString(a).

API中toBinaryString的解釋:

toBinaryString

public static String toBinaryString(inti)

以二進制(基數 2)無符號整數形式返回一個整數參數的字元串表示形式。

如果參數為負,該無符號整數值為參數加上 232;否則等於該參數。將該值轉換為二進制(基數 2)形式的無前導0的 ASCII 數字字元串。如果無符號數的大小為零,則用一個零字元'0'(』u0030』) 表示它;否則,無符號數大小的表示形式中的第一個字元將不是零字元。字元'0'('u0030') 和'1'('u0031') 被用作二進制數字。


參數:

i- 要轉換為字元串的整數。

返回:

用二進制(基數 2)參數表示的無符號整數值的字元串表示形式。

從以下版本開始:

JDK1.0.2

閱讀全文

與javabyte轉二進制相關的資料

熱點內容
手機號碼如何加密 瀏覽:424
沈陽程序員培訓學校 瀏覽:538
一般伺服器如何配置 瀏覽:895
圖片怎樣加密發郵件 瀏覽:619
萬虹電腦文件夾密碼忘記了怎麼辦 瀏覽:631
rc108單片機 瀏覽:867
戰雷如何改變伺服器 瀏覽:674
mactelnet命令 瀏覽:51
壓縮袋壓縮了拿出來 瀏覽:401
安卓手機相機怎麼設置許可權 瀏覽:121
美女程序員轉行做主播 瀏覽:671
辦理解壓房產 瀏覽:575
道路工程概論pdf 瀏覽:388
超棒數學速演算法大全 瀏覽:937
小米易語言登錄源碼 瀏覽:31
磚牆內加密鋼筋 瀏覽:992
鄉關何處pdf 瀏覽:84
小豬領贊小程序源碼 瀏覽:336
python曲線如何原路返回 瀏覽:431
pdf快速看圖破解版 瀏覽:294