java中怎么将十进制转换为十六进制

 我来答
a913852910
2017-04-23 · 超过19用户采纳过TA的回答
知道答主
回答量:77
采纳率:100%
帮助的人:34.5万
展开全部
用除商取余法
用十进制数除以16 记录下商和余数
然后继续用商去除以16记录下商和余数,直到商为0
最后将余数逆序排列就可以了
比如十进制数33转为十六进制
33/16=2 余1
2/16=0 余2
结果就是0x 21(十六进制以0x开头)
非我墨杰
2018-11-27
知道答主
回答量:3
采纳率:0%
帮助的人:2353
展开全部
//两种方法:
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) {
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
        System.out.println("请出入一个十进制数:");
        int num = scan.nextInt();
 TtoSMethod1(num);//自带方法
 TtoSMethod2(num);//自定义方法,可将任意的十进制转化为十六进制
 Sop();//输出
 }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫薇参星
科技发烧友

2017-04-23 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3630万
展开全部

在Java中用Integer类的toHexString函数就可以将十进制整数转换为十六进制整数的字符串

具体的Java程序如下

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

运行结果

e9

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式