導航:首頁 > 編程語言 > java十進制轉二進制演算法

java十進制轉二進制演算法

發布時間:2021-02-20 12:55:48

java題: 用戶輸入一個十進制數,轉換成二進制數後輸出

import java.util.*;

public class Test {

public static void main(String[] args) {
Scanner san = new Scanner(System.in);
int aint = 0;
System.out.print("請輸入一個整數: ");
aint = san.nextInt();
System.out.println(aint + "的二進制內表示容為: " + Integer.toBinaryString(aint));
}

}

❷ 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中實現十進制轉為二進制演算法

加一句num /= 2;

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

1、創建java類,TestNumConv.java;

❺ 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中的十進制轉換為二進制

public class tobin {
public static void main(String[] args) {
int x = 17;//轉換前的十進制數
int num=0;
for(int y=x;y!=0;num++)y=y/2;//計算回轉換後二進制數的位數
int[] bin = new int[num];//轉換後的答二進制數
for(int i=num-1,y=x;i>=0;i--){
bin[i]=y%2;
y=y/2;
}
for(int i=0;i<num;i++)
System.out.print(bin[i]);
}
}

❼ 編寫一個Java程序,將十進制數(double型)轉換為二進制數的字元串

double型轉二進制字元串涉及到小數部分,沒法像Integer那樣直接轉,底下是一個轉換類

publicclassTest{
publicstaticvoidmain(String[]args){
Testt=newTest();
doubled=8;
Strings=t.decimal2BinaryStr(d);
System.out.println("十進制數"+d+"轉成二進制數為:"+s);
}
/**
*十進制數轉二進制數
*@paramd十進制數
*@return十進制數轉換成二進制的字元串
*/
publicStringdecimal2BinaryStr(doubled){
Stringresult=decimal2BinaryStr_Inte(d);
result+=decimal2BinaryStr_Deci(d);
returnresult;
}

/**
*十進制整數部分轉二進制數
*@paramd十進制數
*@return十進制整數部分轉換成二進制的字元串
*/
publicStringdecimal2BinaryStr_Inte(doubled){
//returnInteger.toBinaryString((int)d);
/*
*本來利用上面的Integer.toBinaryString(int)就可以得到整數部分的二進制結果,
*但為了展示十進制轉二進制的演算法,現選擇以下程序來進行轉換
*/
Stringresult="";
longinte=(long)d;
intindex=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=newchar[c.length];
for(inti=c.length;i>0;i--){
cc[cc.length-i]=c[i-1];
}
returnnewString(cc);
}

/**
*十進制小數部分轉二進制
*@paramd十進制數
*@return十進制小數部分轉換成二進制小數的字元串
*/
publicStringdecimal2BinaryStr_Deci(doubled){
returndecimal2BinaryStr_Deci(d,0);
}

/**
*十進制小數部分轉二進制
*@paramd十進制數
*@paramscale小數部分精確的位數
*@return十進制小數部分轉換成二進制小數的字元串
*/
publicStringdecimal2BinaryStr_Deci(doubled,intscale){
doubledeci=sub(d,(long)d);
if(deci==0){
return"";
}
//為了防止程序因所轉換的數據轉換後的結果是一個無限循環的二進制小數,因此給其一個默認的精確度
if(scale==0){
scale=(String.valueOf(deci).length()-2)*4;
}
intindex=0;
StringBuilderinteStr=newStringBuilder();
doubletempD=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("");
}
}
returninteStr.toString();
}


/**
*提供精確的減法運算。
*@paramv1被減數
*@paramv2減數
*@return兩個參數的差
*/
publicstaticdoublesub(doublev1,doublev2){
BigDecimalb1=newBigDecimal(Double.toString(v1));
BigDecimalb2=newBigDecimal(Double.toString(v2));
returnb1.subtract(b2).doubleValue();
}
}

❽ 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);
/*

閱讀全文

與java十進制轉二進制演算法相關的資料

熱點內容
換手機的app如何登錄 瀏覽:706
微信501版本下載 瀏覽:203
iphone如何同時更新3個app 瀏覽:403
手機上好的編程軟體有哪些 瀏覽:554
安卓9修復gps配置文件 瀏覽:862
mac如何刪除隱藏文件 瀏覽:142
游戲文件手機 瀏覽:635
note4私密模式文件夾 瀏覽:765
lol無限視距替換文件 瀏覽:22
編譯後的文件 瀏覽:842
網上定製衣服app哪個好便宜 瀏覽:972
word頁碼續前節 瀏覽:137
dgs編程什麼意思 瀏覽:240
pscs6入門教程零基礎 瀏覽:339
控制工程需要掌握哪些編程 瀏覽:532
javaformac107的 瀏覽:736
小米手機程序上網設置 瀏覽:254
d800固件升級 瀏覽:425
js報錯缺少函數 瀏覽:953
java提取xml內容 瀏覽:795

友情鏈接