• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

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

开发技术 开发技术 2周前 (01-14) 8次浏览
进制转换:

基础:

​ 二进制用的数为: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)  则   继续往下除
      
后面不举例子了; 通过十进制为媒介, 可以实现四个进制任意转换;
      

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


喜欢 (0)