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。

Java基础-进制转换的更多相关文章

  1. 【搬砖】安卓入门(2)- Java开发编程基础--进制转换和运算符

    02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 ...

  2. java基础:进制详细介绍,进制快速转换,二维数组详解,循环嵌套应用,杨辉三角实现正倒直角正倒等腰三角,附练习案列

    1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 如何加断点 选择 ...

  3. 《java版进制转换》

    import java.util.Scanner; class 十进制转成十六进制_2 { public static void main(String[] args) { int num = 0; ...

  4. Java:进制转换

    进制转换是常常需要的一种数据处理,在java中的一些类中封装了具有转换功能的方法,这个不做介绍.其实,进制之间的转化是通过先位异或&,再位移动>>>的方式实现的. 例如,对于 ...

  5. java高精度进制转换

    POJ1131   由于本题只有小数部分(整数部分均为0),故在进制转换的之后只能自己手写转换方法了.   8进制转换10进制的方法为,以0.75为例,应是7*8^-1 + 5*8^-2.所以呢,可以 ...

  6. Java的进制转换操作(十进制、十六进制、二进制)

    2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. ...

  7. Java 之进制转换

    //十进制转十六进制 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scan ...

  8. C语言基础——进制转换 / 数据表示

    第一部分:进制转换 二进制:由0~1构成,逢2进1 八进制:由0~7构成,逢8进1 十六进制:由0~9.A~F构成,逢16进1 两个基本概念 基数:n进制基数为n 123.4 = 1*10^2 + 2 ...

  9. java之进制转换

    [转载]晨风�0�5�0�2�0�1�6�6 2014年03月08日 于 爱Java 发表 众所周知.程序世界计算机中采用的是二进制,一个数字可以用任意进制表示.所以看一个数据值的同时.还要观察它的进 ...

随机推荐

  1. TMS320VC5509的DAC输出TLV5620

    1. TLV5620的SPI数据是11位的 但是看图3和图4,感觉用2个字节应该也可以的,不知道行不行,可以试一试吧 2. 不过可惜的是5509A的SPI没有11位的,有点麻烦,只能先试试用两个字节行 ...

  2. C#中二进制、十进制和十六进制互相转换的方法

    二进制在C#中无法直接表示,我们一般用0和1的字符串来表示一个数的二进制形式.比如4的二进制为"100".下面介绍C#里面用于进制转换的方法. 十进制转换为二进制(int--> ...

  3. python 连接 hive 的 HiveServer2 的配置坑

    环境: hadoop 2.7.6 hive 2.3.4 Hive 的 thirft 启动: hadoop 单机或者集群需要: 启动 webhdfs 修改 hadoop 的代理用户 <proper ...

  4. C++ 派生类构造函数和析构函数

    几个问题 一个类的各数据成员的构造顺序? 按他们在类定义中出现的先后顺序:先定义者先构造. 类的对象成员的构造函数与类自身的构造函数的执行顺序? 先执行对象成员的构造函数,再执行类自身的构造函数. 构 ...

  5. Linux第一章第二章学习笔记

    第一章 Linux内核简介 1.1 Unix的历史 它是现存操作系统中最强大最优秀的系统. 设计简洁,在发布时提供原代码. 所有东西都被当做文件对待. Unix的内核和其他相关软件是用C语言编写而成的 ...

  6. 实训二(cocos2dx 2.x 打包apk)

    利用cocos2dx编程得到的展现形式之一就是最终的apk,中间的过程只有自己走过才能知道,对于没有章法的初学者,那是相当的头疼, 言归正传,2.x到3.x版本引擎变动很大,除去了CC只是很小一方面, ...

  7. 这个不是第一次作业----艰难的安装Android studio历程

    之前只听说过eclipse,后来从室友处得知,还有一个安卓的开发工具叫做Android studio,上网百度后发现网友普遍说Android studio比eclipse快,没想太多,删E装A. 在装 ...

  8. LeetCode 638 Shopping Offers

    题目链接: LeetCode 638 Shopping Offers 题解 dynamic programing 需要用到进制转换来表示状态,或者可以直接用一个vector来保存状态. 代码 1.未优 ...

  9. ElasticSearch 5.6.1 安装 Kibana、X-Pack和head

    前面已经有写过ElasticSearch和iK的安装了这里就不在所了. 安装Kiabna 在下载tar包的时候需要注意下一安装的es版本号,按照官网的说明版本是对应一致的. https://www.e ...

  10. Oracle与SQLSERVER修改数据文件的路径

    1. SQLSERVER ALTER DATABASE CWBASEMSS modify file (name = cwbasemss_dat ,filename = 'c:\cwdata\mss\C ...