import java.math.BigDecimal;
public class Test {
public static void main(String[] args) {
Test t = new Test();
double d = 8;
String s = t.decimal2BinaryStr(d);
System.out.println("十進制數"+d+"轉成二進制數為:"+s);
}
/**
* 十進制數轉二進制數
* @param d 十進制數
* @return 十進制數轉換成二進制的字元串
*/
public String decimal2BinaryStr(double d){
String result = decimal2BinaryStr_Inte(d);
result += decimal2BinaryStr_Deci(d);
return result;
}
/**
* 十進制整數部分轉二進制數
* @param d 十進制數
* @return 十進制整數部分轉換成二尺凱進制的字元串
*/
public String decimal2BinaryStr_Inte(double d){
// return Integer.toBinaryString((int)d);
/*
㈡ java把01字元串當二進制寫入文件
花了40分鍾專門為你寫的。希望採納
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class a {
public static void main( String[] args )
{
int i=0;
String text = "10101010010001100111001";
char num1="1".charAt(0);
int lenSrc=text.length();
int len01=lenSrc/8;
char tmp;
byte[] target=new byte[len01];
//首先,我初始化target數組,使得其所有bit均為二進制0
for( i=0;i<len01;i++){
target[i]=(byte)0;
;}
//而後我比較你寫的string的每個位置的值,當這個位置是1的話,我就把其在byte數組中其對應的位置用按位或來改寫成bit1
for( i=0;i<lenSrc;i++){
tmp=text.charAt(i);
if(tmp==num1){
if(i%8==0){ target[i/8]= (byte) ((int)target[i/8] | 0x80); }
if(i%8==1){ target[i/8]= (byte) ((int)target[i/8] | 0x40); }
if(i%8==2){ target[i/8]= (byte) ((int)target[i/8] | 0x20); }
if(i%8==3){ target[i/8]= (byte) ((int)target[i/8] | 0x10); }
if(i%8==4){ target[i/8]= (byte) ((int)target[i/8] | 0x8); }
if(i%8==5){ target[i/8]= (byte) ((int)target[i/8] | 0x4); }
if(i%8==6){ target[i/8]= (byte) ((int)target[i/8] | 0x2); }
if(i%8==7){ target[i/8]= (byte) ((int)target[i/8] | 0x1); }
}
};
//這樣,就完成了二進制寫法的string到byte[]二進制的轉換.成為byte數組target
//接下來就是存儲了。存儲的時候你可以直接按照二進制原來的格式存儲。
File f = new File("/Users/targetFile.txt");
OutputStream os = null;
try {
os = new FileOutputStream(f);
os.write(target);
} catch (Exception e) {}finally{try { os.close();} catch (IOException e) {}
}
//寫入完畢
}
}
㈢ java 如何顯示 二進制
java顯示二進制,主要是使用基本類型的包裝類的tobinaryString類型進行轉換專,代碼如下:
packagecom.qiu.lin.he;
importjava.text.ParseException;
publicclassCeshi{
publicstaticvoidmain(String[]args)throwsParseException{
inti=8;
//使用包裝類屬的toBinaryString轉換成二進制
System.out.println(Integer.toBinaryString(i));
}
}
運行結果如下
㈣ 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中如何將字元串轉換為二進制數
方法一:開始,運行,輸入cmd,再輸入「systemInfo」,拉到上面看「系統類型」,X86的是32位機,64位的是X64(不過,系統是64位的,此處才顯示64位)。如果你的系統是64位的,會在「OS?名稱:?MicrosoftXP?Professional」一行後明確標示出「x64?Edition」,否則你的系統就是32位的。?
方法二:在開始>運行中輸入「winver」,如果你的系統是64位的,同樣會明確標示出「x64?Edition」。?
方法三:查看「控制面板」中的「系統屬性」?
單擊「開始」,然後單擊「運行」。鍵入?sysdm.cpl,然後單擊「確定」。單擊「常規」選項卡。操作系統顯示如下:?
對於?64?位版本的操作系統:「系統」下將顯示?Windows?XP?Professional?x64?Edition?版本?<?Year>。?
對於?32?位版本的操作系統:「系統」下將顯示?Windows?XP?Professional?版本?<?Year>。?注意<Year>?是一個表示年份的佔位符。?方法?四:查看「系統信息」窗口?
單擊「開始」,然後單擊「運行」。鍵入?winmsd.exe,然後單擊「確定」。?
當導航窗格中已選擇「系統摘要」,找到「詳細信息」窗格中「項目」下的「處理器」,然後記下該值。?
如果「處理器」對應的值以「x86」開頭,表明該計算機運行的是?32?位版的?Windows?操作系統
如果「處理器」對應的值以「ia64」或「AMD64」開頭,表明該計算機運行的是?64?位版的?Windows?操作系統?
右鍵打開我的電腦屬性,沒有「物理地址擴展」的是32位,有「物理地址擴展」的是64位如果這個方法無效,請嘗試其他方法。
㈥ Java 一個文件裡面存儲的是二進制數據 讀取出來以字元串形式展示
不需要轉換。
解釋:任何文件的存儲都是通過二進制的形式進行存儲的,只不過經過機器語言編譯後,展示給用戶的體驗是中文或者是字元串形式。
備註:如果是想將數字轉換為二進制,可以直接通過Integer的toBinaryString方法直接進行轉換,舉例:
int i =8;
System.out.println(Integer.toBinaryString(i));
輸出結果就是:1000.
㈦ java如何把二進制字元串轉成整數
java將二進制裝換成整數,可以使用Integer類的方法,來進行轉換,如下:
Integer.parseInt("80000000",2);
Integer屬於int基本類型的包裝類,可以實現各個類型的互相轉換,還可以輸出成string類型,只需要使用toString()方法。