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:
java中的进制转换的更多相关文章
- java中16进制转换10进制
java中16进制转换10进制 public static void main(String[] args) { String str = "04e1"; String myStr ...
- java中的进制转换以及字符串类和数值类的相互转化
import java.util.*; import java.io.*; import java.math.*; import java.math.*; public class Main { pu ...
- Java I/O : Java中的进制详解
作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...
- 二进制之Java中的进制(二)
1. jdk中的进制转换 十进制转十六进制 Integer.toHexString(int i); 十进制转八进制 Integer.toOctalString(int i); 十进制转二进制 Inte ...
- JS中的进制转换
1 前言 js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现. 仅作为记录. 2 代码 //10进制转为16进制 (10).to ...
- Oracle 中的进制转换
Oracle 中的进制转换 */--> Oracle 中的进制转换 Table of Contents 1. 进制名 2. 10进制与16进制互相转换 2.1. 10进制转换为16进制 2.2. ...
- java中的进制转换方法
java中进行二进制,八进制,十六进制,十进制间进行相互转换 关键字: java 进制转换 十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer ...
- java中的进制与操作符
直接常量 double: 111d,111D 二进制:前缀为0b 十六进制:前缀为0x或0X,后面最大9位. 八进制:前缀为0,后面最大7位. 按位操作符 与(&): 或(||): 异或(^) ...
- Java基础(进制转换-)
进制概述: 进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数). 对于任何一种进制---X ...
随机推荐
- SHELL中执行Oracle SQL语句查询性能视图
数据库日志是否报错信息 vi check_log.sh #!/bin/bash # Created : 2019.10.10 # Updated : # Author : # Description ...
- KNN原理小结
K近邻法(K-nearest neighbors,KNN)既可以分类,也可以回归. KNN做回归和分类的区别在于最后预测时的决策方式.KNN做分类时,一般用多数表决法:KNN做回归时,一般用平均法. ...
- java:LeakFilling(Servlet,JSP)
1.web-inf中的 .jsp 文件不会运行,其他都根据web.xml文档中的自然顺序进行运行 2.keep-alive 长连接(持续) UDP,TCP短连接 3.状态码:1(消息异常) 2(成 ...
- java:Oracle(事务,分页,jdbc)Mysql(jdbc)
1.事务:transaction -- 事务开启的唯一条件就是:对数据库进行增,删,改的时候 -- 换句话说,对数据进行增删改以后,必须要执行提交或者回滚 -- 事务就是把数据库中的数据从一致状态转换 ...
- mybatis整合spring,使用org.mybatis.spring.mapper.MapperScannerConfigurer扫描出现问题
<!-- 加载配置文件 --> <context:property-placeholder location="classpath:db.properties" ...
- Linux字符界面字符颜色显示
一.字符颜色 #!/bin/bash #字符颜色显示 #-e:允许echo使用转义 #\033[:开始位 #\033[0m:结束位 #\033等同于\e echo -e "\033[30m黑 ...
- 【神经网络与深度学习】【CUDA开发】【VS开发】Microsoft官方移植了Caffe配置过程说明
想在Windows平台使用Caffe,吭哧吭哧下载了半天第三方库,后来忽然发现Microsoft官方移植了Caffe,配置起来简直太省心了- 1. 从Microsoft官方Github上下载Caffe ...
- 访问DataGridView的Rows报了OutOfIndexRangeException错误
DataGridView绑定了一个List<Entity>实体集合,在遍历DataGridView的每一行DataBoundItem时候,如果符合某个条件的话,则移除List<Ent ...
- HDU 1003 Max Sum (动态规划 最大区间和)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- CM金丝雀Canary报错
参考: https://www.cnblogs.com/barneywill/p/10400788.html CM金丝雀Canary报错 1 HDFS 金丝雀Canary 测试无法为 /tmp/.cl ...