用JAVA把二进制数转换成十进制数。 10

随机输入一个由0和1组成的二进制数。要求这个程序计算并打印出这个二进制数(binary)的十进制数值(decimalvalue)。... 随机输入一个由0和1组成的二进制数。要求这个程序计算并打印出这个二进制数(binary)的十进制数值(decimal value)。 展开
 我来答
帐号已注销
2021-06-10 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:167万
展开全部

二进制转十进制

Integer.valueOf("0101",2).toString()

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("输入一个二进制数: ");

String a = sc.nextLine();

int d = Integer.parseInt(a, 2); // 2进制

int o = Integer.parseInt(a, 8); // 8进制

System.out.println("二进制转为十进制: " + d);

System.out.println("八进制转为十进制: " + o);

计算机内部使用二进制表示数

二进制与十进制的转换是比较复杂的。比如我们要让计算机计算50+50=?,那么首先要把十进制的50转换成二进制的“50”——110010,这个过程要做多次除法,而计算机对于除法的计算是最慢的。把十进制的50转换成二进制的110010还不算完,计算出结果1100100之后还要再转换成十进制数100,这是一个做乘法的过程,对计算机来说虽然比除法简单,但计算速度也不快。

以上内容参考:百度百科-十进制

匿名用户
2019-02-21
展开全部

一楼回答的非常详尽了哈,

就是感觉太多了,

个人觉得,比较常用的就是Integer的parseInt()方法,

使用起来也非常方便:

int  a = Integer.parInt("你的二进制数", 2);

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-05-30
展开全部
Integer.valueOf("0101",2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尚学堂java学院
2020-12-07 · 百度认证:北京尚学堂科技有限公司官方账号
尚学堂java学院
向TA提问
展开全部

public class JinZhiZhuanHua {

public static void main(String[] args) {

//使用查表法将十进制转换为二进制、八进制、十六进制

int num=60;

toBin(num);

tooct(0);

toHex(60);

   }

//转换为二进制

public static void toBin(int num){

conversion(num,1,1);

}

//(转换为八进制

public static void tooct(int num){

conversion (num,7,3);

}

//转换为十六进制

public static void toHex(int num){

conversion (num,15,4);

}

//转换

public static void conversion(int num, int diwei, int yiwei) {

     //如果num等于0,结果输出为0

if (num==0){

System.out.println("num="+0) ;

return;

}

//定义一个包含二进制、八进制、十六进制的表

char[] chs={'0','1','2','3','4','5','6','7','8','9',

'A','B','C','D','E','F',};

//定义一个临时容器

char[] arr=new char[32];

//定义一个操作数组的指针

int pos=arr.length;

//利用与低位最大值的方式取出低位,存到临时数组中

while(num!=0){

arr[--pos]=chs[num&diwei];//--pos倒著往临时容器里存

num >>=yiwei;//无条件右移相应位数

}

//打印转换后的结果

for( int x=pos;x<arr.length; x++)

System.out.print(arr[x]);

//换行

System.out.println();

}

}

希望对您有所帮助!~

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
txlaok
推荐于2018-10-22 · TA获得超过1035个赞
知道小有建树答主
回答量:476
采纳率:100%
帮助的人:183万
展开全部
十进制转成十六进制:
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()

有什么方法可以直接将2,8,16进制直接转换为10进制的吗?
java.lang.Integer类
parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
examples from jdk:
parseInt("0", 10) returns 0
parseInt("473", 10) returns 473
parseInt("-0", 10) returns 0
parseInt("-FF", 16) returns -255
parseInt("1100110", 2) returns 102
parseInt("2147483647", 10) returns 2147483647
parseInt("-2147483648", 10) returns -2147483648
parseInt("2147483648", 10) throws a NumberFormatException
parseInt("99", throws a NumberFormatException
parseInt("Kona", 10) throws a NumberFormatException
parseInt("Kona", 27) returns 411787

进制转换如何写(二,八,十六)不用算法
Integer.toBinaryString
Integer.toOctalString
Integer.toHexString

例二

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

}

例二
public class TestStringFormat {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("usage: java TestStringFormat <a number>");
System.exit(0);
}

Integer factor = Integer.valueOf(args[0]);

String s;

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进制数);
例如
String temp = Integer.toHexString(75);
输出temp就为 4b

//输入一个10进制数字并把它转换成16进制
import java.io.*;
public class toHex{

public static void main(String[]args){

int input;//存放输入数据
//创建输入字符串的实例
BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个的整数:");
String x=null;
try{
x=strin.readLine();
}catch(IOException ex){
ex.printStackTrace();
}
input=Integer.parseInt(x);
System.out.println ("你输入的数字是:"+input);//输出从键盘接收到的数字

System.out.println ("它的16进制是:"+Integer.toHexString(input));//用toHexString把10进制转换成16进制
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式