【黑马程序员】Java基础01:进制之间的互相转换

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

进制的种类:

  当前的计算机系统使用的都是二进制数据,它是用01两个数字来表示的。进位规则是“逢二进一”,借位规则是“借一当二”。目前用到的所有字符都在计算机中有对应的二进制表现形式,我们用到的一般是UTF-8GBK码表,能够兼容中英文字符。

  在计算机中,还有一些其他的数据表现形式,如:十进制、八进制、十六进制。


进制转换的原理介绍:

1、任意进制----->十进制

2进制转10进制

1110 = 0*2^0 + 1*2^1 + 1*2^2 + 1*2^3  ---> 即以2为底,位数减1的次幂运算(个位次幂为0,十位为1,依次递增),再乘以当前位数值。

= 0 + 2 + 4 + 8 = 14

可以理解为:

1   1   1    0

*

8   4   2    1 = 14

 

其实8进制,16进制,转换成10进制,也是用此思想。

8进制的4510进制:4*8^1+5*8^0=37 ---> 即以8为底,位数减1的次幂运算(个位次幂为0,十位为1,依次递增),再乘以当前位数值。

 

2、十进制转----->任意进制

10进制转2进制:就是除2运算。82进制:8每次除2的余数是0-0-0-12进制倒写,即1000

10进制转8进制:就是除8运算。308进制:30每次除8的余数是6-38进制倒写,即36

 

3、二进制<----->八进制

可以理解为三个2进制表示的10进制数,代表一个8进制位

如:1110 = 001  110 ---> 001表示10进制的1110表示10进制的6,变成8进制就是16

 

8进制转2进制就是逆向思维,8进制的522进制,52进制是10122进制是010,即为101010

 

4、二进制<----->十六进制

可以理解为四个2进制位表示的10进制数,代表一个16进制位

如:0101 1010  --->  每四个2进制就是510,即5A

16进制转2进制,逆向思维。

 

5、八进制<----->十六进制

如果需要8进制转16进制,可以把8进制转成2进制,再转成16进制,转换思维即可。

168,反向思维。

 

6、负数的二进制

就是把对应正数的二进制取反,再加1。注:负数的二进制最高位都是1

如:求-6的二进制

6的二进制是110,取反后是11111111-11111111-11111111-11111001+1就是11111111-11111111-11111111-11111010

所以-6的二进制就是11111111-11111111-11111111-11111010,int型是4个8位。

  

7、学习过了Integer对象之后,有10进制和任意类型的互相转换。

方法一:10转其它类型

Integer.toBinaryString(int i)102

Integer.toOctalString(int i)108

Integer.toHexString(int i)1016

方法二:其它类型转10

Integer.parseInt("需要转换的数",进制形式):把2进制、8进制或16进制转换成10进制。

如:Integer.parseInt("1110",2) --->2进制的1110转成10进制;

         Integer.parseInt("3c",16) --->16进制的3C转成10进制;

 

有了此二种方法,对于任意类型进制的互转,比如2进制转8进制,可以先把210,再把108,用面向对象的思路解决。


---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值