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 ...
随机推荐
- Alpha发布--美工+文案
此作业对应要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8677 一.美工: 1.产品logo 2.原型页面展示 2.1 进入萌 ...
- Oracle中关键字like的使用总结
Like 模糊查询 占位符 % 任意个数字符 _ 一个字符 查询 用户名以‘S’开头的员工信息 Select * from emp where ename like 'S%' 查询用户名第二个字母 ...
- spark MLlib 概念 2:Stratified sampling 层次抽样
定义: In statistical surveys, when subpopulations within an overall population vary, it is advantageou ...
- windows运维常用命令
devmgmt.msc 设备管理器msconfig 启动项命令mstsc 远程登录diskmgmt.msc 磁盘管理 calc.exe 计算器shutdown -r ...
- layer实现关闭弹出层刷新父界面功能详解
本文实例讲述了layer实现关闭弹出层刷新父界面功能.分享给大家供大家参考,具体如下: layer是一款近年来备受青睐的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会 ...
- 访问 Django 项目的静态资源
from django.urls import path, re_path from django.conf import settingsfrom django.views.static impor ...
- 【剑指offer38】字符串的排列
如果没有要求字典序排序,则直接采用递归的思想,将字符串的排列看成两步,第一步,交换第一个字母和任意一个字母(包括自己,但不包括和自己相等的其他字母)固定第一个字母,固定第一个字母,然后对后面的字符串也 ...
- git提交到分支
git checkout grego@gregoo:mygo$ git checkout origin/test Note: checking out 'origin/test'. You are i ...
- robotframework 配置过程中遇到的问题
现有环境配置:操作系统: Win7 32bitPython 2.7.8Python 3.5.2Pycharm Community Edition 2016.3.2robotframework: 3.0 ...
- 安装mangodb
1.配置yum源 [root@www ~]# cat /etc/yum.repos.d/mongodb-org-3.4.repo [mongodb-org-3.4] name=MongoDB Repo ...