Ⅰ java編程,請問怎麼將十進制數轉換成二進制輸出,又怎麼將二進制數轉換成十進制輸出
1、創建java類,TestNumConv.java;
Ⅱ java中將234以二進制的方式列印在控制台上
十進制轉成十六進制:Integer.toHexString(inti)十進制轉成八進制Integer.toOctalString(inti)十進制轉成二進制Integer.toBinaryString(inti)十六進制轉成十進制Integer.valueOf("FFFF",16).toString()八進制轉成十進制Integer.valueOf("876",8).toString()二進制轉十進制Integer.valueOf("0101",2).toString()有什麼方法可以直接將2,8,16進制直接轉換為10進制的嗎?java.lang.Integer類parseInt(Strings,intradix)使用第二個參數指定的基數,將字元串參數解析為有符號的整數。examplesfromjdk:parseInt("0",10)returns0parseInt("473",10)returns473parseInt("-0",10)returns0parseInt("-FF",16)returns-255parseInt("1100110",2)returns102parseInt("2147483647",10)returns2147483647parseInt("-2147483648",10)returns-2147483648parseInt("2147483648",10)("99",("Kona",10)("Kona",27)returns411787進制轉換如何寫(二,八,十六)不用演算法Integer.toBinaryStringInteger.toOctalStringInteger.toHexString例二publicclassTest{publicstaticvoidmain(Stringargs[]){inti=100;StringbinStr=Integer.toBinaryString(i);StringotcStr=Integer.toOctalString(i);StringhexStr=Integer.toHexString(i);System.out.println(binStr);}例二publicclassTestStringFormat{publicstaticvoidmain(String[]args){if(args.length==0){System.out.println("usage:javaTestStringFormat");System.exit(0);}Integerfactor=Integer.valueOf(args[0]);Strings;s=String.format("%d",factor);System.out.println(s);s=String.format("%x",factor);System.out.println(s);s=String.format("%o",factor);System.out.println(s);}}其他方法:Integer.toHexString(你的10進制數);例如Stringtemp=Integer.toHexString(75);輸出temp就為4b//輸入一個10進制數字並把它轉換成16進制importjava.io.*;publicclasstoHex{publicstaticvoidmain(String[]args){intinput;//存放輸入數據//創建輸入字元串的實例BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));System.out.println("請輸入一個的整數:");Stringx=null;try{x=strin.readLine();}catch(IOExceptionex){ex.printStackTrace();}input=Integer.parseInt(x);System.out.println("你輸入的數字是:"+input);//輸出從鍵盤接收到的數字System.out.println("它的16進制是:"+Integer.toHexString(input));//用toHexString把10進制轉換成16進制
Ⅲ java如何得到列印出一個byte的二進制形式,toBinaryString()列印出來的是32位,怎麼列印出一個8位的
這個,你的數字占幾位,Integer.toBinaryString打出來就是幾位的啊,比如:
System.out.println(Integer.toBinaryString(10));
運行的結果就是:1010
只有4位的
Ⅳ java 將文件(如zip、txt等)轉換成二進制數據並列印出來
可以通過BufferedReader 流的形式進行流緩存,之後通過read(位元組流)方法獲取到緩存的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
byte[] b = new byte[1024];
int len = 0;
while((len=bre .read(b))!=-1){//判斷是不是到最後一個位元組
System.out.println(new String(b,0,len));//輸出二進制內容
}
bre.close();//關閉流
備註: 流用完之後必須close掉,如上面的就應該是:bre.close(),否則bre流會一直存在,直到程序運行結束。
Ⅳ java程序在控制台輸入一個正整數,要求以二進制的形式輸出怎麼做
publicstaticvoidmain(String[]args){
intn=-10;
Stringresult="";
booleanminus=false;
//如果該數字為負數,那麼進行該負數+1之後的絕對值的二進制碼的對應位取反,然後將它保存在result結果中
if(n<0){
minus=true;
n=Math.abs(n+1);
}
while(true){
intremainder=(!minus&&n%2==0)||(minus&&n%2==1)?0:1;
//將余數保存在結果中
result=remainder+result;
n/=2;
if(n==0){
break;
}
}
//判斷是否為負數,如果是負數,那麼前面所有位補1
if(minus){
n=result.length();
for(inti=1;i<=32-n;i++){
result=1+result;
}
}
System.out.println(result);
}
Ⅵ java中列印2進制數
Integer類的
public static String toBinaryString(int i)
以二進制(基數 2)無符號整數形式返回一個整數參數的字元串表示形式。
Ⅶ java如何列印long形二進制
publicclassDemo{
publicstaticvoidmain(String[]args)throwsException{
byte[]by="abc".getBytes();
for(byteb:by){
System.out.println(Long.toBinaryString(b));
}
}
}
Ⅷ 怎麼用 java輸出二進制的23
java進制轉換
java中進行二進制,八進制,十六進制,十進制間進行相互轉換
十進制轉成十六進制:
Integer.toHexString(int i)
十進制轉成八進制
Integer.toOctalString(int i)
十進制轉成二進制
Integer.toBinaryString(int i)
十六進制轉成十進制
Integer.valueOf("FFFF",16).toString()
八進制轉成十進制
Integer.valueOf("876",8).toString()
二進制轉十進制
Integer.valueOf("0101",2).toString()
Ⅸ java程序在控制台輸入一個正整數,要求以二進制的形式輸出
利用JavaAPI直接轉換
十進制數如何轉換為二進制數,這在javaAPI 中有一個方法,Integer.toBinaryString( ) 括弧裡面寫上你要轉換的十進制數,這樣可以直接轉換。例如:
publicstaticvoidmain(String[]args){
十進制轉換為二進制
System.out.println(Integer.toBinaryString(10));
}
通過求余,求商,並計算值(例如:把二進制的1010 直接輸成十進制的1010)實現
publicstaticvoidmain(String[]args){但是這種方法存在一個問題:因為int類型是有取值范圍的,如果轉換的二進制數字超出了范圍(例如:10011100110110)這個數字明顯超出了int的取值范圍,這樣我們用int類型的sum進行存儲的時候他就會自動轉換為一個其他的數字。並且這個方法沒有辦法求負數的二進制數。
//TODOAuto-generatedmethodstub
inta=123;//定義一個變數並賦給他一個十進制的值
intremainder;//定義一個變數用於存儲余數
intsum=0;//定義一個變數用於存放和
intk=1;//定義一個變數控制位數
while(a!=0){
remainder=a%10;//對目標數字求余
a/=2;//對目標數字求商
sum=sum+remainder*k;//求和
k*=10;//改變位數
}
System.out.println("10進制的123轉換為2進制結果為:"+sum);
}
在方法二的基礎上使用字元串對結果集進行存儲
publicstaticvoidmain(String[]args){用這種方法就能很好解決int類型的越界問題,能解決所有的十進制轉換二進制的問題。
intn=-10;
Stringresult="";
booleanminus=false;
//如果該數字為負數,那麼進行該負數+1之後的絕對值的二進制碼的對應位取反,然後將它保存在result結果中
if(n<0){
minus=true;
n=Math.abs(n+1);
}
while(true){
intremainder=(!minus&&n%2==0)||(minus&&n%2==1)?0:1;
//將余數保存在結果中
result=remainder+result;
n/=2;
if(n==0){
break;
}
}
//判斷是否為負數,如果是負數,那麼前面所有位補1
if(minus){
n=result.length();
for(inti=1;i<=32-n;i++){
result=1+result;
}
}
System.out.println(result);
}
Ⅹ java的數字二進制輸出
首先,java里int是有32位2進制數組成的
我們一般賦值
int
i
=
1;
這個是賦值10進制的數
賦值
2進制要
int
i
=
01;(前面加個0,就表示是2進制數)
賦值16進制(常用)
int
i
=
0x00000001;
(0x表示為16進制數)
3種的值都是1.
要用2進制輸出就是Integer.toBinaryString(i)
拓展:
因為計算機處理位運算速度是非常快的(應該是最快的運算)
所以很多時候,如果有一堆boolean變數需要表示時,
一般只用1個int的數表示,如:
int
i
=
0x0000000f;//表示後4位為1
int
m
=
(i
>>
2)
&
1;
//
其中m就是表示某一位的值,2表示右邊開始數第2位(當然是從第0位開始算的)
這樣就能取具體每一位的值
這種方法在很吃代碼效率的程序中經常遇到
全手打,望支持