给定一个十进制整数, 如何转成二进制形式? 如何转成十六进制形式?

一、十进制转二进制
方法:做除法(该十进制数除以2),余数逆序
举例:
10(10进制)------->>> 1010(2进制)
10/2 商为5 余数为0
5/2 商为2 余数为 1
2/2 商为1 余数为 0
1/2 商为0 余数1

二、十进制转十六进制
方法:除16取余法
该十进制数除以16,然后取每次得到的商和余数,用商继续和16相除,直到商小于16。然后把第一次得到的余数作为十六进制的个位,第二次得到的余数作为十六进制的十位,依次类推,最后一次得到的小于16的商作为十六进制的最高位,这样由商+余数组成的数字就是转换后十六进制的值
举例:
例子1:将十进制数(93)10转换成十六进制数。
93/16=5…………13(D)
(93)10=(5D)16
补充:
1、在Java中的Integer类提供了进制转换方法Interger.toBinaryString()、Interger.toOctalString()、Interger.toHexString()分别实现十进制转换为二进制、八进制、十六进制
2、Integer.valueOf(s, radix) 将第一个参数解释为用第二个参数指定的基数表示的有符号整数,换句话说就是将 s 以 radix 进制的形式转换为十进制。

public class Test
 {
    public static void main(String[] args) {
        System.out.println("==========十进制778转换到其它进制:==========");
        int numberDec = 778;
        System.out.println("十进制转二进制: " + Integer.toBinaryString(numberDec));
        System.out.println("十进制转八进制: " + Integer.toOctalString(numberDec));
        System.out.println("十进制转十六进制: " + Integer.toHexString(numberDec));
        String numberOct = "1412";
        System.out.println("八进制转十进制: " + Integer.valueOf(numberOct, 8));
        String numberHex = "30A";
        System.out.println("十六进制转十进制: " + Integer.valueOf(numberHex , 16));
        String numberBin = "1100001010";
        System.out.println("二进制转十进制: " + Integer.valueOf(numberBin, 2));
    }
}

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值