java中的进制转换及转换函数

Java的进制转换

进制转换原理

十进制 转 二进制:

原理: 对十进制数进行除 2 运算取余。

6 --> 110

二进制 转 十进制

原理: 二进制 乘以 2 的n次幂 的过程

110 ->0*20 + 1*21 + 1 * 22

0  +  2   + 4=6

0   0  1  1 0 1 0 1

128 64 32 16 8 4 2 1    = 53

当 8个bit 都是 1  最大是 255 那么一个字节最大就是 255

负数的二进制:

其实就是 十进制数 转换成 二进制数后 取反+1

以-6为例,一个整数类型 是 4个字节 1 int = 4 byte = 32 bit

0000-0000  0000-0000  0000-0000  0000-0110

1111-1111  1111-1111  1111-1111  1111-1001 取反

+ 0000-0000  0000-0000  0000-0000  0000-0001  +1

--------------------------------------------------

1111-1111  1111-1111  1111-1111  1111-1010  = -6

二进制 转 十六进制

先将十进制 转成 二进制 --> 十六进制

四个二进制位 就是 一个 十六进制位

1111 最大值是 8+4+2+1 = 15 逢16进1

以  90为例:

0101-1010

----   ----

5        A        90 十六进制表示为 0x5A

二进制 转 八进制

三个二进制位 就是一个 八进制位

111 = 4+2+1 = 7 逢8进1

前面位数不够 拿0补

001-011-010

--- --- ---

1   3   2   = 0132

进制转换原理

/*

该类用于进制转换

*/

public class Demo_2
{
public static void main(String[] args)
{
//System.out.println("hello");
System.out.println(Integer.toBinaryString(365));//十进制转换成二进制
System.out.println(Integer.toHexString(365));//十进制转换成十六进制
System.out.println(Integer.toOctalString(365));//十进制转换成8进制
System.out.println(Integer.toString(10,16));//十进制转换成对应进制数,不适合用于负数,第一个参数为转换数,第二个参数为转换进制 System.out.println(Integer.parseInt("1010",2));//N进制转换成十进制,返回类型为int,第一个参数为字符串,第二个参数为进制
System.out.println(Integer.parseInt("1010",8));
System.out.println(Integer.parseInt("1010",16)); System.out.println(Integer.valueOf("1010",2));//N进制转换成十进制,返回类 型为int,第一个参数为字符串,第二个参数为进制
System.out.println(Integer.parseInt("1010",8));
System.out.println(Integer.parseInt("1010",16));
}
}

在dos下的运行结果1:

 

引入负数测试代码:

System.out.println(Integer.toString(10,2));//十进制转换成对应进制数,不适合用于负数
System.out.println(Integer.toString(-10,2));
System.out.println(Integer.toString(10,8));//第一个参数为转换数,第二个参数为转换进制
System.out.println(Integer.toString(-10,8));
System.out.println(Integer.toString(10,16));
System.out.println(Integer.toString(-10,16));

在dos下的运行结果2:

java中的进制转换的更多相关文章

  1. java中16进制转换10进制

    java中16进制转换10进制 public static void main(String[] args) { String str = "04e1"; String myStr ...

  2. java中的进制转换以及字符串类和数值类的相互转化

    import java.util.*; import java.io.*; import java.math.*; import java.math.*; public class Main { pu ...

  3. Java I/O : Java中的进制详解

    作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...

  4. 二进制之Java中的进制(二)

    1. jdk中的进制转换 十进制转十六进制 Integer.toHexString(int i); 十进制转八进制 Integer.toOctalString(int i); 十进制转二进制 Inte ...

  5. JS中的进制转换

    1 前言 js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现. 仅作为记录. 2 代码 //10进制转为16进制 (10).to ...

  6. Oracle 中的进制转换

    Oracle 中的进制转换 */--> Oracle 中的进制转换 Table of Contents 1. 进制名 2. 10进制与16进制互相转换 2.1. 10进制转换为16进制 2.2. ...

  7. java中的进制转换方法

    java中进行二进制,八进制,十六进制,十进制间进行相互转换 关键字: java 进制转换 十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer ...

  8. java中的进制与操作符

    直接常量 double: 111d,111D 二进制:前缀为0b 十六进制:前缀为0x或0X,后面最大9位. 八进制:前缀为0,后面最大7位. 按位操作符 与(&): 或(||): 异或(^) ...

  9. Java基础(进制转换-)

    进制概述: 进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数). 对于任何一种进制---X ...

随机推荐

  1. SHELL中执行Oracle SQL语句查询性能视图

    数据库日志是否报错信息 vi check_log.sh #!/bin/bash # Created : 2019.10.10 # Updated : # Author : # Description ...

  2. KNN原理小结

    K近邻法(K-nearest neighbors,KNN)既可以分类,也可以回归. KNN做回归和分类的区别在于最后预测时的决策方式.KNN做分类时,一般用多数表决法:KNN做回归时,一般用平均法. ...

  3. java:LeakFilling(Servlet,JSP)

    1.web-inf中的  .jsp 文件不会运行,其他都根据web.xml文档中的自然顺序进行运行 2.keep-alive 长连接(持续)  UDP,TCP短连接 3.状态码:1(消息异常) 2(成 ...

  4. java:Oracle(事务,分页,jdbc)Mysql(jdbc)

    1.事务:transaction -- 事务开启的唯一条件就是:对数据库进行增,删,改的时候 -- 换句话说,对数据进行增删改以后,必须要执行提交或者回滚 -- 事务就是把数据库中的数据从一致状态转换 ...

  5. mybatis整合spring,使用org.mybatis.spring.mapper.MapperScannerConfigurer扫描出现问题

    <!-- 加载配置文件 --> <context:property-placeholder location="classpath:db.properties" ...

  6. Linux字符界面字符颜色显示

    一.字符颜色 #!/bin/bash #字符颜色显示 #-e:允许echo使用转义 #\033[:开始位 #\033[0m:结束位 #\033等同于\e echo -e "\033[30m黑 ...

  7. 【神经网络与深度学习】【CUDA开发】【VS开发】Microsoft官方移植了Caffe配置过程说明

    想在Windows平台使用Caffe,吭哧吭哧下载了半天第三方库,后来忽然发现Microsoft官方移植了Caffe,配置起来简直太省心了- 1. 从Microsoft官方Github上下载Caffe ...

  8. 访问DataGridView的Rows报了OutOfIndexRangeException错误

    DataGridView绑定了一个List<Entity>实体集合,在遍历DataGridView的每一行DataBoundItem时候,如果符合某个条件的话,则移除List<Ent ...

  9. HDU 1003 Max Sum (动态规划 最大区间和)

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  10. CM金丝雀Canary报错

    参考: https://www.cnblogs.com/barneywill/p/10400788.html CM金丝雀Canary报错 1 HDFS 金丝雀Canary 测试无法为 /tmp/.cl ...