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

Java的进制转换

进制转换原理

十进制 转 二进制:

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

6 --> 110

二进制 转 十进制

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

110 ->0*2+ 1*2+ 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. JPA查询getOne()与findOne()的差异以及一些小问题

    起初用Jpa 里面 getOne() 查询一个id的数据 发现查询出来的数据都是空的,但不是空的对象是按照对象默认值来的 所以导致查询不出结果 以为是数据库修改,没有及时修改实体类导致的 但是后来发现 ...

  2. 第十四周学习总结&课程实验报告

    课程总结 一.相关概念 1.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统 ...

  3. 【python学习】字符串相关

    # -*- coding: utf-8 -*- # ========================================================================== ...

  4. JAVA-ThreadPoolExecutor 线程池

    一.创建线程池 /** * @param corePoolSize 核心线程池大小 * 当提交一个任务到线程池时,如果当前 poolSize < corePoolSize 时,线程池会创建一个线 ...

  5. layer实现关闭弹出层刷新父界面功能详解

    本文实例讲述了layer实现关闭弹出层刷新父界面功能.分享给大家供大家参考,具体如下: layer是一款近年来备受青睐的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会 ...

  6. 1.2 Mac下配置maven环境变量

    1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.下载Mave ...

  7. docker-compose部署redis-cluster

    node1-node6 1.到http://download.redis.io/redis-stable/redis.conf下载官方redis.conf文件 2.修改对应端口 # bind 127. ...

  8. 什么是 ANR 如何避免它?

    在 Android 上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框.用户可以 ...

  9. Linux_Ubuntu之用户目录

    位于/home/user,称之为用户工作目录或家目录,表示方式: /home/user ~

  10. Jmeter(二)关联

    phpwind发贴时由于随着登陆用户的改变, verifycode是动态变化的, 因此需要用到关联. LoadRunner的关联函数是reg_save_param, Jmeter的关联则是利用后置处理 ...