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() 有什么方法可以直接将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进制
}
}

大数进制转换方法

方法一:

//10进制->2进制
String a = "-1195";
//输入数值 BigInteger src = new BigInteger(a);
//转换为BigInteger类型 System.out.println(src.toString(2)); //转换为2进制并输出结果
//2进制->10进制
String a = "10010101011";
//输入数值
BigInteger src = new BigInteger(a, 2);
//转换为BigInteger类型
System.out.println(src.toString());
//转换为2进制并输出结果 由此可见,有2点要注意: 1. BigInteger的构造函数
BigInteger(String src)默认参数字符串为10进制数值
BigInteger(String src, int x)
第2个参数x是指定第一个参数src的进制类型 2. toString方法
toString()默认把数值按10进制数值转化为字符串。
toString(int x)把数值按参数x的进制转化为字符串。 方法二:
//十进制转其他进制
String str;int number;
//转2进制
number = Integer.parseInt(str);
System.out.println(Integer.toBinaryString(number));
//转8进制
number = Integer.parseInt(str);
System.out.println(Integer.toOctalString(number)); //转16进制
number = Integer.parseInt(str);
System.out.println(Integer.toHexString(number)); 转换原理:将十进制转换成二进制的算法如下:
1.给定一个数; 2.根据十进制转换二进制的思想:
把这个数除以2若为单数则为1,为偶数则为0,直到最后一个数为1为止。
所以我们要做的就是用你给定的这个数除以2,如果结果为奇数则r=1,否则r=0;如此循环下去,直到这个数〉=1。 3.然后把r的值送到一个数组里面。最后把这个数组里面的内容从后面打印出来就可以了。
public class ChangeTo2 {
public static void main(String args[]) {
int n=16;
int r;
int i=0;
int[] a=new int[10];
do {
if(n%2==1) {
r=1;
}
else {
r=0;
}
a[i]=r;
n=n/2;
i++;
}while(n>0);
System.out.print("转换成二进制为:");
for(int j=i-1;j>=0;j--) {
System.out.print(a[j]);
}
System.out.println();
}
}
2.把二进制转换成十进制的算法如下:
1.给定一个二进制数
2.把他看成一个十进制数,依次除以10,每除以一次,变量i加1,
然后把除的次数加1,就是这个二进制的位数。
3.然后让除以10之后的结果和10取余,把结果保存到一个数组中。
4.最后用传统的数学方法求出这个10进制即可~

F

java中的进制转换方法的更多相关文章

  1. Java I/O : Java中的进制详解

    作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...

  2. java中16进制转换10进制

    java中16进制转换10进制 public static void main(String[] args) { String str = "04e1"; String myStr ...

  3. java中的进制转换

    java中的进制转换及转换函数 转自:https://blog.csdn.net/V0218/article/details/74945203 Java的进制转换 进制转换原理 十进制 转 二进制: ...

  4. 二进制之Java中的进制(二)

    1. jdk中的进制转换 十进制转十六进制 Integer.toHexString(int i); 十进制转八进制 Integer.toOctalString(int i); 十进制转二进制 Inte ...

  5. java中的进制与操作符

    直接常量 double: 111d,111D 二进制:前缀为0b 十六进制:前缀为0x或0X,后面最大9位. 八进制:前缀为0,后面最大7位. 按位操作符 与(&): 或(||): 异或(^) ...

  6. Java中8进制数和16进制数的表示方法

    由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题.  但,二进制数太长了.比如int   类型占用4个字节,32位.比如100,用int类型的二进制数表达将 ...

  7. Java中16进制与字符串之间的相互转换

    笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进 ...

  8. java中 8进制 10进制 2进制 16进制 相互转换

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  9. java中的进制转换以及字符串类和数值类的相互转化

    import java.util.*; import java.io.*; import java.math.*; import java.math.*; public class Main { pu ...

随机推荐

  1. okhttp 基本介绍

    资料汇总 官网:http://square.github.io/okhttp/ 文档:https://github.com/square/okhttp/wiki GitHub:https://gith ...

  2. Command 命令模式

    简介 将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化.用于[行为请求者]与[行为实现者]解耦,可实现二者之间的松耦合,以便适应变化. 将一个请求封装为一个对象,从而使你可用不同 ...

  3. Django runserver show client ip

    get path of basehttp.py $ python >>> import site >>> site.getsitepackages() ['/usr ...

  4. Struts1 中实现Action跳转地址栏变化的方法

    Action进行跳转,有时候地址栏不变化,如果重复刷新就会重复提交, 这里一般需要进行重定向: 1.在xml里面进行配置 <action path="/checkCdconfirmEn ...

  5. [转] 详细整理:UITableView优化技巧

      原文:http://www.cocoachina.com/ios/20150602/11968.html   最近在微博上看到一个很好的开源项目VVeboTableViewDemo,是关于如何优化 ...

  6. Django 1.10中文文档—第一个Django应用Part1

    在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以 ...

  7. [转]Java远程方法调用

    Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口.它使客户机上运行的程序可以调用远 ...

  8. Linux下修改键盘默认布局

    有时候在安装Linux选择键盘到布局到时候,会选择错误,这个时候可以选择终端命令来进行重新选择 sudo dpkg-reconfigure keyboard-configuration 之后键盘文我选 ...

  9. 妙用git rebase --onto指令

    有时候,在分支提交更改的时候,会忘记rebase,就直接提交上去,或者忘记和本地远程分支做merge,就直接rebase了别的分支.有时候真希望有一种切片的方式,让自己的分支只需要接上某一段.这个时候 ...

  10. Qt信号槽中槽函数为虚函数的一些感想

    有时候,在写connect的时候会去犹豫一个问题----我的槽函数到底需不需要为虚函数.这个问题在我每次写connect的时候我都会反问自己,因为确实,如果你不去深究里面的moc,你发现不了太多问题. ...