(四)进制转换

二进制转换成其他进制数:

  1. 二进制转换成八进制数:
    (1)简单的办法是将二进制数从右到左三个一组分开,不够就在最左面补零,然后转换成八进制数;
    如:
    二进制数:1101010;
    三个一组分开: 001 101 010
    然后转换成八进制为: 1 5 2
    则:二进制的1101010转换成八进制数就是152;

  2. 二进制数转换成10进制数:
    逆推法:
    如:61 (10)-----》111101(2)
    128 64 32 16 8 4 2 1
    61 = 1 1 1 1 0 1
    所以十进制的61转换成二进制的数字就是111101
    基数法:
    项数 * 基数 ^ 序数 累加
    如 :101011(2)—》43(10)
    12^5 + 02^4 + 12^3 + 02^2 + 12^1 +12^0 =43
    序数:543210(就是下标,从零开始读的);
    基数:就是几进制;

  3. 二进制数转换成16进制数:

    2—》16
    从右向左每 4 位为一组,计算每一组的十六进制数。
    1 0011 1101—13d

十进制转换为其他进制数:

  1. 十进制数转换成二进制数:

    小除法:除以2(需要转换的进制)求余,结果从下向上读取;
    也可以用小除法将十进制转换成其他进制,除以需要转换成为的进制数,求余,结果从下往上读;

                   2   | 61          1
                     2  |30          0
                      2  |15         1
                        2 |7         1
                         2 |3        1
                          2 |1       1
    逆推法:
            如:6 (10)-----》111101(2)
            128   64   32    16   8   4   2   1
            61 =          1      1    1   1   0   1
            所以十进制的61转换成二进制的数字就是111101
       注意:
              二进制前加0b;
              八进制前加0;
             十六进制前加0x;

其他进制转换成十进制:

 项数   *    基数 ^ 序数  累加
 如 :101011(2)---》43(10)
        1*2^5  +  0*2^4  +  1*2^3  +  0*2^2  +  1*2^1  +1*2^0  =43
  序数:543210(就是下标,从零开始读的);
  基数:就是几进制;
 如:
 7进制----13进制:将7进制数转10进制数,再将10进制数转13进制数
    将7进制数转10进制数:
    7  *  7^0 =7    ;
    7(7)----》7(10)
  将10进制数转13进制数:
        小除法: 
            13  | 7   6
                  0
            7 (10)----》 6(13)

For example:

public class DemoTest {
	public static void main(String[] args) {
		int i= 196;
//      输出二进制
		System.out.println(Integer.toBinaryString(i));
//      输出为8进制
		System.out.println(Integer.toOctalString(i));
//      输出16进制
		System.out.println(Integer.toHexString(i));
		
//      以0(零)开头的是8进制(以0b开头的是2进制)
		i = 072;
//      输出时默认转换成十进制
		System.out.println(i);
		
//		以0x或0X(零X)开头的为16进制
		i =  0xf4;
//		输出时默认转换成十进制
		System.out.println(i);
//		输出16进制
		System.out.println(Integer.toString(i));	
	}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值