java中的进制转换
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:
原文地址:https://www.cnblogs.com/JimShi/p/11495055.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Android PC端用ADB抓取指定应用日志实现步骤
- Android studio 禁用AndroidX方式
- Android 实现把bitmap图片的某一部分的颜色改成其他颜色
- AndroidStudio构建项目提示错误信息“unable to find valid certification”的完美解决方案
- Android自定义View实现抖音飘动红心效果
- Android Studio 利用Splash制作APP启动界面的方法
- android surfaceView实现播放视频功能
- Android Studio中一套代码多渠道打包的实现方法
- Android自定义View实现圆环进度条
- Android启动页用户相关政策弹框的实现代码
- 10个好用的 HTML5 特性
- Android实现签名涂鸦手写板
- Android 开发使用Activity实现加载等待界面功能示例
- 详解Android使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayou实现手指滑动效果
- Android开发自定义控件之折线图实现方法详解