導航:首頁 > 編程語言 > java十進制與二進制轉換

java十進制與二進制轉換

發布時間:2022-07-08 23:22:36

❶ 求java編程 二進制十進制互相轉化

java中有現在的api

10進制轉二進制

Integer.toBinaryString(int i);

❷ java 編程將十進制數轉化為二進制數。

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寫一個 十進制轉為二進制的程序

將十進制轉換成二進制的演算法如下:
1.給定一個數;
2.根據十進制轉換二進制的思想:把這個數除以2若為單數則為1,為偶數則為0,直到最後一個數為1為止。所以我們要做的就是用你給定的這個數除以2,如果結果為奇數則r=1,否則r=0;如此循環下去,直到這個數〉=1。
3.然後把r的值送到一個數組裡面。最後把這個數組裡面的內容從後面列印出來就可以了。

import java.util.Scanner;

public class Hi {

public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("請輸入一個十進制需要轉換為二進制的正整數");
int n=sc.nextInt();
int r;
int i=0;
int[] a=new int[20];
do{
if(n%2==1)
r=1;
else
r=0;
a[i]=r;
n/=2;
i++;
}while(n>0);

System.out.println("十進制轉換為二進制後:");
for(int j=i-1;j>=0;j--){
System.out.print(a[j]);
}
}
}

❹ java中如何將十進制數字轉化成二進制

如果表達小於2^31-1的正數代碼如下:

public void binaryToDecimal(int n){

int t = 0; //用來記錄位數

int bin = 0; //用來記錄最後的二進制數

int r = 0; //用來存儲余數

while(n != 0){

r = n % 2;

n = n / 2;

bin += r * Math().pow(10,t);

t++;

}

System.out.println(bin);

}

使用字元串的拼接(+)來實現大於2^31-1的數,代碼如下:

public void binaryToDecimal(int n){

String str = "";

while(n!=0){

str = n%2+str;

n = n/2;

}

System.out.println(str);

}

可以右移後再與0x01進行&運算得到第一位的數字判斷判斷它的第幾位上是0,第幾位上是1,代碼如下:

class ByteMove

{

public static void main(String[] args)

{

int i = 7;

move(i);

}

static void move(int num){

for(int i= 0;i<6;i++){

System.out.println("第"+(i+1)+"位:" + (num >> i & 0x01));

}

}

}

❺ JAVA中的十進制如何轉換為二進制

十進制轉成二進制Integer.toBinaryString(int i) 。

例子:

public class Test{
public static void main(String args[]){

int i=100;
String binStr=Integer.toBinaryString(i);
String otcStr=Integer.toOctalString(i);
String hexStr=Integer.toHexString(i);
System.out.println(binStr);

❻ 如何把一個十進制數轉為二進制數的Java程序

十進制數轉二進制分2部分,整數和小數部分。

1、整數部分

十進制整數轉換為二進制整數採用"除2取余,逆序排列"法。具體做法是:用2整除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為0時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。

2、小數部分

十進制小數轉換成二進制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,此時0或1為二進制的最後一位。或者達到所要求的精度為止。

示例:

publicclassErJinZhi{
publicStringtrans(intzheng){//轉整數部分
Stringtemp="";
while(zheng!=0){//一直到整數部分為0
temp=(zheng%2)+temp;//余數,並且拼接起來
zheng=zheng/2;//除2取整
}
returntemp;//余數拼起來後返回
}

publicStringtrans(floatxiao){
if(xiao>1){//如果大於1,則有整數部分,出錯了
return"false";
}
Stringtemp="";
intweishu=10;//小數位數,精度
for(inti=0;i<weishu;i++){
xiao*=2;//乘以2
if(xiao>=1){//取整
temp+="1";
xiao=xiao-1;//去除整數後取小數
}else{
temp+="0";//取整數位
}
}
returntemp;//返回小數二進制數
}publicstaticvoidmain(String[]args){
System.out.println("Pleaseinput:");
Scannersc=newScanner(System.in);
floatn=sc.nextFloat();//獲取一個輸入的十進制數

intzheng=(int)n;//取整數部分
floatxiao=n-zheng;//取小數部分

Stringtemp=newErJinZhi2().trans(zheng);//整數部分轉換成二進制
Stringtemp2=newErJinZhi2().trans(xiao);//小數部分轉換成二進制
System.out.println(temp+"."+temp2);//輸出二進制小數
}
}

❼ JAVA編程,請問怎麼將十進制數轉換成二進制輸出,又怎麼將二進制數轉換成十進制輸出

1、創建java類,TestNumConv.java;

❽ 求java十進制轉二進制代碼

下面是根據十進制數轉二進制數的演算法所寫的一段Java程序示例代碼:

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);

/*

* 本來利用上面的Integer.toBinaryString(int)就可以得到整數部分的二進制結果,

* 但為了展示十進制轉二進制的演算法,現選擇以下程序來進行轉換

*/

String result = "";

long inte = (long)d;

int index = 0;

while(true){

result += inte%2;

inte = inte/2;

index++;

if(index%4 == 0){

result+=" ";

}

if(inte==0){

while(index%4!=0){

result+="0";

index++;

}

break;

}

}

char[] c = result.toCharArray();

char[] cc = new char[c.length];

for(int i=c.length; i>0; i--){

cc[cc.length-i] = c[i-1];

}

return new String(cc);

}

/**

* 十進制小數部分轉二進制

* @param d 十進制數

* @return 十進制小數部分轉換成二進制小數的字元串

*/

public String decimal2BinaryStr_Deci(double d){

return decimal2BinaryStr_Deci(d, 0);

}

/**

* 十進制小數部分轉二進制

* @param d 十進制數

* @param scale 小數部分精確的位數

* @return 十進制小數部分轉換成二進制小數的字元串

*/

public String decimal2BinaryStr_Deci(double d, int scale){

double deci = sub(d,(long)d);

if(deci==0){

return "";

}

//為了防止程序因所轉換的數據轉換後的結果是一個無限循環的二進制小數,因此給其一個默認的精確度

if(scale==0){

scale = (String.valueOf(deci).length()-2)*4;

}

int index = 0;

StringBuilder inteStr = new StringBuilder();

double tempD = 0.d;

while(true){

if(deci==0 || index==scale){

while(index%4!=0){

inteStr.append("0");

index++;

}

break;

}

if(index==0){

inteStr.append(".");

}

tempD = deci*2;

inteStr.append((int)tempD);

deci = sub(tempD ,(int)tempD);

index++;

if(index%4 == 0){

inteStr.append(" ");

}

}

return inteStr.toString();

}

/**

* 提供精確的減法運算。

* @param v1 被減數

* @param v2 減數

* @return 兩個參數的差

*/

public static double sub(double v1, double v2) {

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.subtract(b2).doubleValue();

}

}

例如將十進制數1234.5轉成二進制數為:0100 1101 0010.1000

❾ java 怎麼轉換十進制數為二進制數

利用Java API直接轉換
十進制數如何轉換為二進制數,這在Java API 中有一個方法,Integer.toBinaryString( ) 括弧裡面寫上你要轉換的十進制數,這樣可以直接轉換。

閱讀全文

與java十進制與二進制轉換相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:419
個人所得稅java 瀏覽:759
多餘的伺服器滑道還有什麼用 瀏覽:189
pdf劈開合並 瀏覽:26
不能修改的pdf 瀏覽:750
同城公眾源碼 瀏覽:488
一個伺服器2個埠怎麼映射 瀏覽:297
java字元串ascii碼 瀏覽:78
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:945
安卓導航無聲音怎麼維修 瀏覽:332
app怎麼裝視頻 瀏覽:430
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491