初学java进制转换方面补充学习

进制转换:

基础:

​ 二进制用的数为:0/1

​ 八进制用的数为:0/1/2/3/4/5/6/7

​ 十进制用的数为:0/1/2/3/4/5/6/7/8/9

​ 十六进制用的数为:0/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15

​ ->因为10以上的不好表示,10/11/12/13/14/15 用字母表示 a/b/c/d/e/f

​ ->因此十六进制的数表示为:0/1/2/3/4/5/6/7/8/9/a/b/c/d/e/f

  • 二进制转换为十进制
举个栗子:  a=100110;
则十进制为 (2^0x0)+(2^1x1)+(2^2x1)+...+2^5x1=0+2+4+0+0+32=38
  • 八进制转换为十进制
举个栗子:  a=345
则十进制为  (8^0x5)+(8^1x4)+(8^2x3)=5+32+64x3=229
  • 十六进制转换为十进制
举个栗子:  a=6af
则十进制为  (16^0x15)+(16^1x13)+(16^2x6)=15+16x13+16x16x6=1759
  • 十进制转换为十六进制 or 十进制转换为八进制or十进制转换为二进制
假设十进制数为:   asdf/x              //x可以是16或8或2   看你转换为什么进制
      asdf/x=?....a;
      if(?<x)  则   转换后结果为?a
      if(?>x)  则   继续往下除
      
      ?/x=??....b;
      if(?<x)  则   转换后结果为??ba
      if(?>x)  则   继续往下除
      
      ??/x=???....c;
      if(?<x)  则   转换后结果为???cba
      if(?>x)  则   继续往下除
      
后面不举例子了; 通过十进制为媒介, 可以实现四个进制任意转换;
      

萌新小白, 很可能一些方面写的不对, 欢迎指正; 大家一起变得更强!

posted @   酸酸草  阅读(212)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略
点击右上角即可分享
微信分享提示