zoukankan      html  css  js  c++  java
  • 常用进制转换

    常用进制转换

    除了10进制,其他几种在JAVA 中几个进制的表示:

    二进制

    比如 int a = 1;表示应该是 0001.是四位的,但是前面的全是0可以不显示。由于二进制表示太长了,因此一般不用,eclipse 也不会显示出来。听说JDK 1.7 以上 二进制是0b 开头,由于JDK BUG 原因,一直没有,大家自己去了解吧。

    八进制:

    八进制是就有前缀了,以0开头,比如010 ,转换成十进制是8.。在程序转换中,打印前面的0也被省略了。他的范围值 0~7.如果你看见1238,这种,就肯定不是八进制了。

    16进制:

    前缀是0x.比如:0x10,表示16.表示范围是:0~9,A (10)B(11)C(12)D(13)E(14)F(15),如果是:0xFF = 255.

    上面的转换,我默认全是10进制的转换,下面我们看看 是如何转换的。

    转换原则:从非0开始计算,用默认进制为底数,当前位置为减-1,为幂,乘以当前位置的数。所有结果相加。

    二进制转换:因为二进制只能0,1 因此就省略了 * 1.

    0111 = 7,   2^(3-1) + 2^(2-1)+2^(1-1) = 4+2+1. 

    0101 = 5,   2^(3-1) +2^(1-1) = 4+1. 

    八进制转:

    010 = 8,       8^(2-1)*1= 8

    012 = 10,   8^(2-1)*1 +2 = 8+2

    036 = 30,     8^(2-1)*3+6 = 24+6

    0236 = 158, 8^(3-1)*2+8^(2-1)*3+6 = 128 + 24+6

    16进制转换:

    0x10 = 16,         16^(2-1)*1 + 0 = 16 + 0

    0x1A =  26,      16^(2-1)*1 +10(A) = 16+10

    0x2AF = 687,     16^(3-1)*2+16^(2-1)*10 +15(F) = 512 + 160 + 15

    // 将10进制,转换成其他进制
    		// 转换成二进制
    		System.out.println(Integer.toBinaryString(12));
    		// 转换成8进制
    		System.out.println(Integer.toOctalString(12));
    		// 转换成16进制
    		System.out.println(Integer.toHexString(12));
    		
    		
    // 将其他进制转换为10进制 ,默认只能转2~36 进制。
    		// 二进制转换
    		System.out.println(Integer.parseInt("101", 2));
    		// 会出错,因为 二进制只能有01
    		//System.out.println(Integer.parseInt("21", 2));
    		// 8进制转换
    		System.out.println(Integer.parseInt("021", 8));
    		// 16进制转为
    		System.out.println(Integer.parseInt("021", 17));
    		// 5进制转换
    		System.out.println(Integer.parseInt("021", 5));
    		// 会出错,因为 5进制,不能有6
    		//System.out.println(Integer.parseInt("061", 5));
    		// 出错,超出转换范围
    		//System.out.println(Integer.parseInt("021", 37));
    
    		// 这个和上面类似,只是返回是Integer,上面返回的是int,看源码就知道了
    		System.out.println(Integer.valueOf("010", 8));
    

      

  • 相关阅读:
    VScode 修改中文字体
    missing KW_END at ')' near '<EOF>'
    SQL inner join, join, left join, right join, full outer join
    SQL字符替换函数translater, replace
    SQL COOKBOOK SQL经典实例代码 笔记第一章代码
    sqlcook sql经典实例 emp dept 创建语句
    dateutil 2.5.0 is the minimum required version python
    安装postgresql后找不到服务 postgresql service
    Postgres psql: 致命错误: 角色 "postgres" 不存在
    【西北师大-2108Java】第十六次作业成绩汇总
  • 原文地址:https://www.cnblogs.com/harry335/p/4441492.html
Copyright © 2011-2022 走看看