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

作者&投稿:仝胥 (若有异议请与网页底部的电邮联系)
java 将十进制转换成十六进制字符串~

import java.util.Scanner;public class TentoSixteen{ private static StringBuilder sum = new StringBuilder(); private static int rulst; //定义一个结果,记录数与15的与运算结果,求得原数二进制最后四位的值 private static int count; //若数的二进制不止四位,定义一个数来记录除去后四位的新数,运用递归作用与rulst相同 private static void TtoSMethod1(int i) { //JDK自带的转化方法String exchanged = Integer.toHexString(i);System.out.println(exchanged);} private static void Sop() { //将得到的字符串反转 System.out.println(sum.reverse().toString());}private static void subim(int rulst) {//判断是否超出10,根据十六进制的规则超出10部分由字母ABCDEF代替if(rulst=0) {//判断数有多少位,大于0小于16,则转换后打直接印 subim(rulst); }else {//不止四位的数则用递归来多次运算 count=i>>4;//除去最后四位 subim(rulst); TtoSMethod2(count);//递归直到count为0止 }} public static void main(String []args) {@SuppressWarnings("resource")Scanner scan = new Scanner(System.in); System.out.println("请出入一个十进制数:"); int num = scan.nextInt(); TtoSMethod1(num);//自带方法 TtoSMethod2(num);//自定义方法,可将任意的十进制转化为十六进制 Sop();//输出 }}

用除商取余法
用十进制数除以16 记录下商和余数
然后继续用商去除以16记录下商和余数,直到商为0
最后将余数逆序排列就可以了
比如十进制数33转为十六进制
33/16=2 余1
2/16=0 余2
结果就是0x 21(十六进制以0x开头)

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

package com.test;

public class Test {

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

2、运行结果如下十进制的123转化成十六进制的7b

3、Integer.toHexString方法返回的结果是字符串。

4、直接表达16进制,在JAVA里面可以在数字前加"0x",像这样

int j = 0x7b;
System.out.println(Integer.decode("0x7b"));





import java.util.Scanner;

class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请出入一个十进制数");
int num = sc.nextInt();
toHex(num);
System.out.println(Integer.toHexString(num));// java自带的转换十六进制方法
sc.close();
}

public static void toHex(int num) {
if (num == 0) {
System.out.println('0');
return;
}
char[] chs = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B', 'C', 'D', 'E', 'F'};
char[] arr = new char[8];
int pos = arr.length;
while (num != 0) {
arr[--pos] = chs[num & 15];
num = num >>> 4;
}
for (int i = pos; i < arr.length; i++) {
System.out.print(arr[i]);
}
}
}


//两种方法:
import java.util.Scanner;
public class TentoSixteen{
    private static StringBuilder sum = new StringBuilder();
    private static int rulst; //定义一个结果,记录数与15的与运算结果,求得原数二进制最后四位的值
    private static int count; //若数的二进制不止四位,定义一个数来记录除去后四位的新数,运用递归作用与rulst相同
  private static void TtoSMethod1(int i) { //JDK自带的转化方法
    String exchanged = Integer.toHexString(i);
    System.out.println(exchanged);
  }  
  private static void Sop() { //将得到的字符串反转
   System.out.println(sum.reverse().toString());
  }
  private static void subim(int rulst) {//判断是否超出10,根据十六进制的规则超出10部分由字母ABCDEF代替
    if(rulst<10) {
     sum.append(rulst);
    }else {
           sum.append((char)('A'+(rulst-10)));//将int强制转换为char
     }
  }
  private static void TtoSMethod2(int i) {
    rulst =i&15;
    if(i<(1<<4)&&i>=0) {//判断数有多少位,大于0小于16,则转换后打直接印
     subim(rulst);
    }else {//不止四位的数则用递归来多次运算
     count=i>>4;//除去最后四位
     subim(rulst);
     TtoSMethod2(count);//递归直到count为0止        
   }
  }  
  public static void main(String []args) {
   Scanner scan = new Scanner(System.in);
   System.out.println("请出入一个十进制数:");
   int num = scan.nextInt();
   TtoSMethod1(num);//自带方法
   TtoSMethod2(num);//自定义方法,可将任意的十进制转化为十六进制
   Sop();//输出
 }
}


package com;
import java.util.Scanner;
/**
*
* @author aming
*
*/
public class Aming {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入需要转换的数值:");
System.out.println(io(toHex(input.nextInt())));
}

static String io(String hi) {
if(hi.indexOf("-")>=0) {
hi = hi.replaceAll("-", "");
return "-"+hi;
}
return hi;
}

static String toHex(int hi) {

if(hi/16 == 0) {
return svn(hi);
}
return toHex(hi/16)+svn(hi);
}
static String svn(int To) {
switch (To%16) {
case 10: return "A";
case 11: return "B";
case 12: return "C";
case 13: return "D";
case 14: return "E";
case 15: return "F";
case -10: return "A";
case -11: return "B";
case -12: return "C";
case -13: return "D";
case -14: return "E";
case -15: return "F";

default: return Integer.toString(To%16);
}
}
}


JAVA如何将10进制的int转成16进制的int?
使用java.math.BigInteger,构造函数BigInteger(String val, int radix) :将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。new BigInteger("01040000000100000001010000005B94D910DE8F1E41ED66466", 16).toString()即可 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有...

java中怎么将10进制转化成十六进制
1,可以手动计算先将10进制的数转为二进制,二进制再转为16进制 2,我们可以直接使用java api提供的方法直接转换 int num = 14;String hexNum = Integer.toHexString(num);hexNum即为16进制的数 3,如图

Java实现:将一个十进制数分别转换成二进制,八进制和十六进制,用户界面...
Java源程序:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Test25 extends JFrame implements ActionListener { JTextField txtDec;JTextField txtBin;JTextField txtOct;JTextField txtHex;public Test25(){ super("十进制整数转换");txtDec = new JTextField(15);tx...

java程序,将十进制的数转化成以逗号为分隔的字符串。例如1234567变成1,2...
import java.text.*;import java.io.*;public class T2 { public static void main(String[] args) throws Exception { int a=1234567;DecimalFormat df=new DecimalFormat(",###");System.out.println(df.format(a));} } 用java的格式化功能就可以了....

java 十进制转二进制!
得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。然后把取出的整数部分按顺序排列起来,先取的整数作为 二进制小数的高位有效位,后取的整数作为低位有效位。下面就给出根据十进制数转二进制数的算法所写的一段Java程序以供大家参考:import java.math....

java程序,将十进制的数转化成以逗号为分隔的字符串。例如1234567变成1,2...
import java.text.*;import java.io.*;public class T2 { public static void main(String[] args) throws Exception { int a=1234567;DecimalFormat df=new DecimalFormat(",###");System.out.println(df.format(a));} } 用java的格式化功能就可以了....

一个简单的JAVA程序,十进制转换二进制
作如下修改 即可 import javax.swing.JOptionPane;public class test01 { public static void main(String sgs[]) { String num = JOptionPane.showInputDialog("请输入要转换的数字:");int number = Integer.parseInt(num);System.out.println("该数的二进制数值为:");int sum;String result = "...

用java写一个 十进制转为二进制的程序
3.然后把r的值送到一个数组里面。最后把这个数组里面的内容从后面打印出来就可以了。import java.util.Scanner;public class Hi { public static void main(String[] args) { Scanner sc=new Scanner(System.in);System.out.println("请输入一个十进制需要转换为二进制的正整数");int n=sc.next...

java 中如何把十进制数转换成6比特的二进制数
java中进行二进制,八进制,十六进制,十进制间进行相互转换 十进制转成十六进制:Integer.toHexString(int i)十进制转成八进制 Integer.toOctalString(int i)十进制转成二进制 Integer.toBinaryString(int i)十六进制转成十进制 Integer.valueOf("FFFF",16).toString()八进制转成十进制 Integer.value...

我学的是java版的数据结构,如何使用一个栈,将一个十进制数转化成...
import java.util.*;public class To2Test{ int ten;Stack<Integer> two=new Stack<Integer>();To2Test(){ System.out.println("输入一个十进制数:");Scanner sr=new Scanner(System.in);ten=sr.nextInt();while(ten!=0){ int i=ten%2;ten\/=2;two.push(i);} while(!two.isEmpty(...

西岗区18219654254: java编写十进制转换为十六进制 -
永蚁脱氧: " + convertDecimalToBinary(9123)); + convertDecimalToBinary(8));Dec number 9123 to Hex value is: " + convertDecimalToBinary(298)); Systempublic class Test { public static void main(String[] args) { System: 12a Dec number 9123 to Hex ...

西岗区18219654254: java怎么将十进制转换为十六进制数 -
永蚁脱氧: public void test(int t){ String s = ""; while(t>0){ s = t%16 + s; t = t/16; } System.out.println(s);//s就是十六进制的数了.}

西岗区18219654254: Java,从键盘输入一个十进制的数,转换成十六进制,怎么做? -
永蚁脱氧: String hexS = Integer.toHexString(10); 输出hexS内容为a 还有 如果非得用判断语句写,请用switch 如果y小于10是不用处理的 直接拼接输出即可 大于10的可以考虑处理 另外.. printf为格式化输出 如果只是单纯想看看内容 用println就行了 里边直...

西岗区18219654254: java中怎么将10进制转化成十六进制 -
永蚁脱氧: String str1 = "0123456789abcdef"; byte[] mac1 = {25,38,-129}; byte b; String s1 = ""; for (byte b:mac1){ if (bn = b & 0x0FF; }else n = b; s1 += str1.substring(n / 16, n / 16 + 1) + str1.substring(n % 16,n % 16 + 1); } 数组里面存储的是字节,十进制的.转换后是16进制的

西岗区18219654254: JAVA 中如何将十进制转十六进制!
永蚁脱氧: 查看java帮助文档 在java.lang包中有个Integer类 ,里面有个方法 toHexString() 是用来转化的 具体代码: int i = 10; String s = Integer.toHexString(i); System.out.println(s); 程序输出:a 不知道是不是你要的!

西岗区18219654254: 用java 写一个10进制转16进制的算法 怎么写 -
永蚁脱氧: public class Test { public static void main(String[] args) { int a=1000; System.out.println(new Test().get16Jz(a)); }public String get16Jz(int n){ if(n/16 return getExp(n/16)+""+getExp(n%16); } return get16Jz(n/16)+""+n%16; } public String getExp...

西岗区18219654254: java 将十进制转换成十六进制字符串 -
永蚁脱氧: 十进制转换成十六进制字符串的方法,public class Test { public static void main(String[] args) { String str = Long.toHexString(421393700).toUpperCase(); System.out.println(str); } } 后面的 字节从低到高排列 这个没看明白现位一个字节,倒序输...

西岗区18219654254: java中怎么将十进制转换为十六进制 -
永蚁脱氧: 用除商取余法 用十进制数除以16 记录下商和余数 然后继续用商去除以16记录下商和余数,直到商为0 最后将余数逆序排列就可以了 比如十进制数33转为十六进制33/16=2 余12/16=0 余2 结果就是0x 21(十六进制以0x开头)

西岗区18219654254: java怎样将已知的10进制数转换为16进制 -
永蚁脱氧: import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请出入一个十进制数"); int x = sc.nextInt(); System.out.println(x+"的十六进制结果是:"+Integer.toHexString(x)); } }

西岗区18219654254: 用JAVA将十进制转换成十六进制
永蚁脱氧: java的Integer类里面就封装了现成的方法..为什么不拿来用. import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请出入一个十进制数"); int x = sc.nextInt(); System.out.println(x+"的十六进制结果是:"+Integer.toHexString(x)); } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网