❶ java中blob類型是什麼類型
blob是資料庫二進制對象的類型,圖片,文本之類的.
java沒有特定類,非要說的話,就是個超大的位元組數組~
❷ java實現:整數進制相互轉換
java實現:整數進制相互轉換的方法:
十進制轉為二進制、八進制、十六進制, 用 Integer.toXXXString()方法
(1)十進制轉為二進制: Integer.toBinaryString(int i);
public static String toBinaryString(inti):以二進制(基數 2)無符號整數形式返回一個整數參數的字元串表示形式。
(2)十進制轉為8進制 :Integer.toOctalString(int i);
public static String toOctalString(inti):以八進制(基數 8)無符號整數形式返回一個整數參數的字元串表示形式。
(3)十進制轉為16進制: Integer.toHexString(int i);
public static String toHexString(inti):以十六進制(基數 16)無符號整數形式返回一個整數參數的字元串表示形式。
舉例:
Stringbin=Integer.toBinaryString(10);
Stringoct=Integer.toOctalString(10);
Stringhex=Integer.toHexString(10);
2.十六進制、八進制、二進制轉為十進制(有兩種方法):parseInt() 和valueOf()。
Integer.parseInt(String s,int radix);
public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二個參數作為指定的基數,將字元串參數解析為有符號的整數;
Integer.valueOf(String s,int radix);
public static Integer valueOf(Strings, intradix) throws NumberFormatException{}返回一個 Integer 對象,該對象中保存了用第二個參數提供的基數進行解析時從指定的 String 中提取的值。
舉例:
try{
inti=Integer.parseInt("a",16);
//輸出為10進制數10
System.out.println(i);
}catch(Exceptione){
e.printStackTrace();
}
try{
//十六進制轉成十進制
Stringhex=Integer.valueOf("FFFF",16).toString();
System.out.println(hex);
//八進制轉成十進制
Stringoct=Integer.valueOf("12",8).toString();
System.out.println(oct);
//二進制轉十進制
Stringbin=Integer.valueOf("0101",2).toString();
System.out.println(bin);
}catch(Exceptione){
e.printStackTrace();
}
❸ Java里,,什麼是二進制 什麼是base64他們有什麼區別
二進制就是逢二進一,而我們習慣的是十進制,就是逢十進一,其實就是平時計數的時候用的符號不一樣,十進制是(0~9)10個符號,而二進制只有0和1兩個,因為當超過1的時候就會產生進位,比如二進制加法1+1=10(注意不要和十進制的十混淆,這個是二進制一零,等於十進制的二)。
至於base64就是一套加密演算法唄,有點類似於數學的某個公式,你把你的數字輸入到這個公式就會產生另外一個數字,加密就是把你的信息按照一定的方法轉換成別的信息,如果不知道解密方法,是無法理解信息的內容的,大概就是這樣的意思。還不理解請追問
❹ 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不顯示