用JAVA把二进制数转换成十进制数。
发布网友
发布时间:2022-04-22 15:44
我来回答
共5个回答
热心网友
时间:2023-07-12 17:32
一楼回答的非常详尽了哈,
就是感觉太多了,
个人觉得,比较常用的就是Integer的parseInt()方法,
使用起来也非常方便:
int a = Integer.parInt("你的二进制数", 2);
热心网友
时间:2023-07-12 17:32
二进制转十进制
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,这是一个做乘法的过程,对计算机来说虽然比除法简单,但计算速度也不快。
以上内容参考:百度百科-十进制
热心网友
时间:2023-07-12 17:33
Integer.valueOf("0101",2)
热心网友
时间:2023-07-12 17:34
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();
}
}
希望对您有所帮助!~
热心网友
时间:2023-07-12 17:34
十进制转成十六进制:
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进制