English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

如題,今天如果我想要寫一個輸入二進位的程式,輸出結果是十進位,那請問該怎麼寫呢?

希望有程式的詳細講解[特別是他要使用到什麼類別或模組,希望能詳達]

附註:如果是寫說要轉其他的進位也是一樣寫法嗎?如果不是要怎麼改呢?這部分也請回答。

謝謝

2007-10-14 10:16:17 · 3 個解答 · 發問者 喵董 1 in 電腦與網際網路 程式設計

不好意思QQ"~請問你那是JAVA的程式碼嗎~我是執行不成功耶?

或是因為版本不同所以不成功嗎~?因為我是新學的人~我的版本是

2007-10-14 15:18:43 · update #1

3 個解答

import java.util.Scanner;

public class binary
{
public static void main( String args[] )
{
Scanner input = new Scanner( System.in );

int total;
int a;
int b;
int c;

total = 0;
b = 1;

System.out.print( "請輸入二進位數:" );
a = input.nextInt();

while ( a >= 0 )
{
c = ( a % 2 ) * b;
a = a / 10;
b = b * 2;
total = total + c;

if ( a == 0 )
{
System.out.printf( "Its decimal: %d\n", total );
break;
}
}
}
}

假設輸入的二進位是1001
二進位的算法是(2^0)*1+(2^1)*0+(2^2)*0+(2^3)*1=9
所以十進位=9

如果要將二進位轉換成其他的進位
就不是這樣寫喔
方法就有差

2007-10-16 02:02:57 補充:
耗呆小綿羊的程式碼我可以run耶

2007-10-15 22:01:28 · answer #1 · answered by xu.6qo4rmp 1 · 0 0

import java.util.Scanner;

public class two2ten {
public static void main(String[] args) {
Scanner input = new Scanner( System.in );
System.out.print( "請輸入二進位數:" );
String a=input.next();
System.out.println("轉十進位"+ Integer.valueOf(a,2).toString());
System.out.println("轉八進位"+ Integer.valueOf(a,8).toString());
System.out.println("轉十六進位"+ Integer.valueOf(a,16).toString());
}
}

result:
請輸入二進位數:0000101
轉十進位5
轉八進位65
轉十六進位257

小弟功力不好,如有錯,請指教!!

2007-10-17 13:16:21 · answer #2 · answered by Sam 3 · 0 0

import java.io.*;
import java.util.*;
public class TEST
//檔名:TEST.java
{
public static void main(String[] args)
{
PrintStream o=new PrintStream(System.out);
Scanner in=new Scanner(System.in);
o.printf("Input Binary: ");
String b=in.next();
o.printf("Decimal= %d\n",btod(b));
}
public static int btod(String b)
{
char ch[]=b.toCharArray();
int dec=0;
for(int i=0;i {
dec+=(ch[i]-'0')*Math.pow(2, b.length()-i-1);
}
return dec;
}
}

2007-10-14 15:46:01 · answer #3 · answered by Big_John-tw 7 · 0 0

fedest.com, questions and answers