博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础-进制转换
阅读量:5968 次
发布时间:2019-06-19

本文共 1064 字,大约阅读时间需要 3 分钟。

                    Java基础-进制转换

                                 作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.Java 程序中常用的进制

1>.十进制,由“0123456789” 这10个数字组成,逢十进一;

2>.二进制,由“01” 这2个数字组成,逢二进一,以“0b”开头;

3>.八进制,由“01234567” 这8个数字组成,逢八进一,以数字“0”开头;

4>.十六进制,由“0123456789abcdef” 这16个数字组成,逢十六进一,以“0x”开头;

  注意,在CPU,内存,硬盘中的数据都是“0”和“1”,但是在程序中,我们是可以用上面任意的进制哟。

 

二.八进制和十六进制的由来

  所有的数据都是以二进制的形式存储的在硬盘的。当我们想要对硬盘数据进行修改的话就必须想把数据读取到内存中,然后在利用OS上的程序去编辑这些数据,在编辑的过程中,如果都以二进制去表示一个数字的话是没有问题的,但是当你表示的数据足够大的话,用二进制看起来的就特别的长,于是就有了将三个比特位组成一组的八进制,到最后人民绝对八进制表示的长度依然很长,于是人们又创造出来了十六进制。他们都有一个共同的特点,就是必须将分组后的数据先转换成十进制数字,然后在转换成相应的八进制和十六进制,其中八进制要以数字"0"开头,二进制则以“0b”开头,而十六进制则以“0x”开头。

 

 

三.进制互相转换

1>.十进制转二进制

  对2取余,倒序输出。

2>.十进制转八进制

  对8 取全,倒序输出

3>.十进制转十六进制

  对16取余,倒序输出

4>.三个二进制位,可以转换为一个八进制位

  我们知道 1234 = 0b10 011 010 010

  将其转换为八进制则为:0b10 011 010 010 = 02322

5>.四个二进制位可以转换为一个十六进制位

  如:0b0100 1101 0010 = 0x4d2

 6>.十六进制转换成十进制

  如:十六进制7B转换成十进制是:123

  首先计算第0位:B * 16^0 = 11(注意,在十六进制中,A到F分别对应的是十进制的10~15)。

  再计算第一位:7 * 16^1 = 112

  接下来要做的事情就是将第0位和第1位相加即可,因此十六进制7B转换成十进制是123。

 

转载于:https://www.cnblogs.com/yinzhengjie/p/8656833.html

你可能感兴趣的文章
TCP与UDP的区别
查看>>
Javascript获取日期和星期
查看>>
xml字符串转xml对象,xml对象转json对象
查看>>
AttributeError: 'NoneType' object has no attribute 'split' 报错处理
查看>>
PYTHON——多线程:同步条件(Event)
查看>>
ThinkCMF变量输出+使用函数
查看>>
0505.Net基础班第十三天(面向对象多态)
查看>>
Oracle 分页查询
查看>>
微信开发之模板消息
查看>>
[python机器学习及实践(2)]Sklearn实现朴素贝叶斯
查看>>
SQL Server不存在或拒绝访问故障的排除
查看>>
java多线程(二)——锁机制synchronized(同步方法)
查看>>
(原创)在service中定时执行网络操作的几点说明
查看>>
[Javascript]XMLHttpRequest对象实现下载进度条
查看>>
UVA-572-搜索基础题
查看>>
iBeacon技术
查看>>
mac环境下配置nginx
查看>>
const与volatile
查看>>
电脑出现 flash update failed 解决方法
查看>>
【matlab】matalb生成dll给Cpp用
查看>>