Java进制概述及进制间的相互转换

什么是进制?

进制也是进位制,是人们规定的一种进位方法。对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推。

十进制

十进制的基本数字是0、1、2、3、4、5、6、7、8、9
10称做"基数",10^n(10的n次幂)被称作"权"。

10000 = 1 * 10^4
1000 = 1*10^3
100 = 1*10^2
10 = 1*10^1
1 = 1*10^0

示例:

12345(十进制) = 1*10000+2*1000+3*100+4*10+5*1
              = 1*10^4+2*10^3+3*10^2+4*10^1+5*10^0
              = 12345
二进制

二进制的基本数字是0、1
二进制的基数为2,权为2^n(2的n次幂)

1=1*2^0
10=1*2^1
100=1*2^2
1000=1*2^3
10000=1*2^4
100000=1*2^5    
1000000=1*2^6
10000000=1*2^7      
1的后面有n个0,就=1*2^n  

栗子:二进制的1111等价十进制的多少?

二进制:1111 = 1*2^3+1*2^2+1*2^1+1*2^0 
              = 8+4+2+1 =15 
十六进制

基本数字:

0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F;
A表示10,B表示11,C表示12,D表示13,E表示14,F表示15;
A、B、C、D、E、F可以用小写字母abcdef表示

特点:逢16进位
十六进制是二进制的简写,一个十六进制数相当于4个二进制数
十六进制的基数为16,权为16^n(16的n次方)
在java代码中十六进制数用0X或0x做前缀(0是数字的零)

0x1000=1*16^3
0x100=1*16^2
0x10=1*16^1
0x1=1*16^0

栗子:16进制的(5E)转换成10进制
5E=5*16^1+14*16^0 = 80+14 =94 (E=14)
十六进制与其他进制的转换
16进制(41) = 4*16^1+1*16^0 = 64+1=65 (转换为10进制)
           = 0100 0001 (转换为2进制) 说明:16进制的1位数代表2进制的4位数
二进制转换为其他进制
二进制转换为十进制:
10110 = 1*2^4+0*2^3+1*2^2+1*2^1+0*2^0 =16+0+4+2+0=22 
转换为十六进制:
原则:4个二进制为表示一个十六进制位
10110 = 0001 0110
拆开转换: 0001=1(10进制)  0110=6(10进制) = 0x16 16进制 
将二进制转换成16进制的思路,现将二进制拆开,每4位2进制位表示1个16进制位
11010110 = 1101 0110 (拆开) = 1101-> 13=D,  0110->6; 
         = D6
十进制数转为二进制数

规律:不断除以2,保留余数,商为0时不再除2.将所有的余数倒序排列

栗子:将13转换为二进制
    13/2
商     6     余数  1
    6/2
商     3     余数  0
    3/2
商     1     余数  1
    1/2
商     0     余数  1
结果:1101
十进制数转为十六进制
规律:不断除以16,保留余数,商为0时不再除以16,将所有的余数倒序排列
示例:138转换为16进制
        138/16
商     8     余数  10 = A
    8/16
商     0     余数  8 = 8
结果 = 0x8A
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 网站乱码问题我们会经常碰到,大多见于非英文的中文字符或其他字符乱码,而且,这类问题常常是因为编码方式问题,主要原因...
    波段顶底阅读 3,315评论 1 9
  • 十进制--->二进制 对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次...
    张轻舟阅读 1,145评论 1 3
  • # 数据存储和进制转化 标签(空格分隔): 基础知识 --- 传统的计算机都是基于冯诺依曼体系,用集成电路中二极管...
    robinguo2012阅读 1,653评论 0 0
  • 一、计算机系统进制概述 数制是用一组固定的符号和统一的规则来表示数值的方法。计算机底层使用的数制是二进制。用Jav...
    筱笑阅读 1,910评论 0 2
  • 在网络中,经常会用到16进制数字的就算,而大部分的情况是转换为10进制数字.在这里给出快速计算的方法,让你快速的进...
    f675b1a02698阅读 9,793评论 1 3

友情链接更多精彩内容