当前位置:首页 » 编程语言 » java进制转化

java进制转化

发布时间: 2022-04-12 04:14:39

A. java实现:整数进制相互转换

java实现:整数进制相互转换的方法:

  1. 十进制转为二进制、八进制、十六进制, 用 Integer.toXXXString()方法

    (1)十进制转为二进制: Integer.toBinaryString(int i);

    public static String toBinaryString(inti):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

    (2)十进制转为8进制 :Integer.toOctalString(int i);
    public static String toOctalString(inti):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。

    (3)十进制转为16进制: Integer.toHexString(int i);

    public static String toHexString(inti):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。

举例:

Stringbin=Integer.toBinaryString(10);
Stringoct=Integer.toOctalString(10);
Stringhex=Integer.toHexString(10);

2.十六进制、八进制、二进制转为十进制(有两种方法):parseInt() 和valueOf()。

Integer.parseInt(String s,int radix);

public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二个参数作为指定的基数,将字符串参数解析为有符号的整数;

Integer.valueOf(String s,int radix);

public static Integer valueOf(Strings, intradix) throws NumberFormatException{}返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。

举例:

try{
inti=Integer.parseInt("a",16);
//输出为10进制数10
System.out.println(i);
}catch(Exceptione){
e.printStackTrace();
}
try{
//十六进制转成十进制
Stringhex=Integer.valueOf("FFFF",16).toString();
System.out.println(hex);
//八进制转成十进制
Stringoct=Integer.valueOf("12",8).toString();
System.out.println(oct);
//二进制转十进制
Stringbin=Integer.valueOf("0101",2).toString();
System.out.println(bin);
}catch(Exceptione){
e.printStackTrace();
}

B. 用JAVA将十进制转换成十六进制

1、用Integer.toHexString方法即可将十进制装成十六进制。

package com.test;

public class Test {

public static void main(String[] args) {
int i = 123;
System.out.println(Integer.toHexString(i));
}
}

C. 怎么用java实现 进制转换

如输入10进制,别的进制用
integer.tobinarystring(int
i)

integer.tooctalstring(int
i)

integer.tohexstring(int
i)
进行转换;别的进制转换也同样实现

D. Java 进制转换

public static void main(String[] args) {
int x = (int)(Math.random()*1000+1);
System.out.println("随机数:"+x);
String allNumber = Integer.toString(x,3);
String[] tmmp = allNumber.split("");
String y = "";
for(String str : tmmp){
if (y.length() == 0 ){
y = y + str;
}else{
y=y+","+str;
}
}
System.out.println("生成的三进制:"+y);

// 逆序输出
StringBuffer sb = new StringBuffer(allNumber);
String tmpx = sb.reverse().toString();
System.out.println("逆序输出结果:"+tmpx);
//计算十六进制
String hexString = Integer.toString(Integer.parseInt(tmpx),16);
System.out.println("hexString="+hexString);
// 都换成十进制进行比较
int intB = Integer.valueOf(hexString,16);
int intA = Integer.valueOf(y,3);
if(intA>intB){
System.out.println("A>B");
}else if(intA==intB){
System.out.println("A=B");
}else{
System.out.println("A<B");
}

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

二进制转十进制

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,这是一个做乘法的过程,对计算机来说虽然比除法简单,但计算速度也不快。

以上内容参考:网络-十进制

F. JAVA如何实现进制之间的转换

publicstaticvoidmain(String[]args)
{
intnumber=123;//十进制
System.out.println(Integer.toBinaryString(number));//二进制1111011
System.out.println(Integer.toOctalString(number));//八进制173
System.out.println(Integer.toHexString(number));//十六进制7b

}

G. 如何用java写个整数进制转换器

java实现:整数进制相互转换的方法:

  • 十进制转为二进制、八进制、十六进制, 用 Integer.toXXXString()方法

    (1)十进制转为二进制: Integer.toBinaryString(int i);

    public static String toBinaryString(inti):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

    (2)十进制转为8进制 :Integer.toOctalString(int i);public static String toOctalString(inti):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。

    (3)十进制转为16进制: Integer.toHexString(int i);

    public static String toHexString(inti):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。

  • 举例:

    Stringbin=Integer.toBinaryString(10);Stringoct=Integer.toOctalString(10);Stringhex=Integer.toHexString(10);
  • 2.十六进制、八进制、二进制转为十进制(有两种方法):parseInt() 和valueOf()。

    Integer.parseInt(String s,int radix);

    public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二个参数作为指定的基数,将字符串参数解析为有符号的整数;

    Integer.valueOf(String s,int radix);

    public static Integer valueOf(Strings, intradix) throws NumberFormatException{}返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。

    举例:

    try{inti=Integer.parseInt("a",16);//输出为10进制数10System.out.println(i);}catch(Exceptione){e.printStackTrace();}try{//十六进制转成十进制Stringhex=Integer.valueOf("FFFF",16).toString();System.out.println(hex);//八进制转成十进制Stringoct=Integer.valueOf("12",8).toString();System.out.println(oct);//二进制转十进制Stringbin=Integer.valueOf("0101",2).toString();System.out.println(bin);}catch(Exceptione){e.printStackTrace();}

H. Java一道关于进制转换的编程

public static void main(String[] args) {
int binArr[]={1101,1001,110,101,111,10,11};
int arr[]=new int[binArr.length];
//1.二进制转十进制;
for(int i=0;i<binArr.length;i++){
arr[i]=Integer.valueOf(String.valueOf(binArr[i]),2);
}
//2.冒泡排序
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j+1]<arr[j]){
int tem=arr[j+1];
arr[j+1]=arr[j];
arr[j]=tem;
}
}
}
System.out.println(Arrays.toString(arr));
}

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

}

}

}

J. Java 中的进制数转换( Integer 类中有2种转换形式)

是你理解错了 第一个方法是求二进制数没错 而第二个方法的正确理解应该是:
方法parseInt(String s,int radix)的目的是输出一个十进制数,这个数字是“String s”但是我们要知道他是多少进制的,而方法中“int radix”参数正是来表达这个信息的。
以上摘抄自Java API文档

比如:parseInt(1010,2)
意思就是:输出2进制数1010在十进制下的数.
更直白地说:parseInt(String s,int radix)就是求“int radix”进制数“String s”的十进制数是多少。

热点内容
android备忘录源码 发布:2025-01-20 01:06:32 浏览:454
怎么禁用aspx缓存 发布:2025-01-20 01:00:50 浏览:687
我的手机如何恢复安卓系统 发布:2025-01-20 00:55:48 浏览:366
eclipsejsp编译 发布:2025-01-20 00:51:02 浏览:860
虚拟机连宿主机ftp 发布:2025-01-20 00:43:04 浏览:356
最小生成树的prim算法 发布:2025-01-20 00:39:40 浏览:325
淘宝助理无法上传 发布:2025-01-20 00:34:33 浏览:883
如何做一个代理服务器 发布:2025-01-20 00:18:39 浏览:803
android背单词源码 发布:2025-01-19 23:57:21 浏览:727
领动配置怎么样 发布:2025-01-19 23:56:35 浏览:83