进制间转换关系

进制间转换详细介绍
使用&运算的进制转换

  • 十进制转十六进制
    变成二进制取最低四位(&15也就是4位都是1)算值,然后再右移4位,再&15得到值,最后将值反过来就是对应的十六进制。
    使用查表法十进制转十六进制
    0 1 2 3 4 5 6 7 8 9 A B C D E F 十六进制元素
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 相当于数组的角标
    先&15,再右移4位。若值还不为0则继续右移4位,再&15
  • 十进制转八进制
    先&7(取最低3位),再右移3位。若值还不为0则继续右移3位,再&7
  • 十进制转二进制
    先&1(取最低1位),再右移1位。若值还不为0则继续右移1位,再&1
public static void trans(int num,int base,int offset) {if(num==0) {//当是数字0进行进制转换则直接打印0并返回System.out.println(0);return ;}//定义一个容器char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//       char[] arr =new char[32];int pos = arr.length;//定义一个类似于指针的变量,是arr的长度while(num!=0) {//当要转换的数字不为0int temp=num & base;//先&上base(15/7/1)//arr先取长度,然后减1得到对应的下标,从最后一个位开始存对应存储进去arr[--pos] = chs[temp];//再将&base之后的结果通过表结构chs[下标](下标小于10,则一样,反之则对应字母)num = num >>> offset; //紧接着右移offset(4/3/1)      }for(int x=pos;x<arr.length;x++) {//循环遍历正打印存储的值System.out.print(arr[x]);}}

arr[–pos] = chs[temp];刚开始时pos指向的位置是空白地方,先自减1之后,

指向了对应的数组下标的位置。存储第一次&base得到的值

右移offset位之后再&base,得到的值再存对应位置(对应位置也自减1)。

调用

       //十进制-》二进制System.out.println("6十进制-》二进制");trans(6,1,1);System.out.println("");//十进制-》八进制System.out.println("60十进制-》八进制");trans(60,7,3);System.out.println("");//十进制-》十六进制System.out.println("60十进制-》十六进制");trans(60,15,4);System.out.println("");
结果

Java数组实现进制转换相关推荐

  1. Java提供的进制转换

    Java提供的进制转换 Integer.toHexString(int i); //十进制转成十六进制Integer.toOctalString(int i); //十进制转成八进制Integer.t ...

  2. Java的API进制转换

    利用Java的API进制转换 一.其他进制转十进制 1.使用Integer.parseInt()方法 2.使用Integer.valueOf()方法 二.十进制转换其他进制 1.使用Integer.t ...

  3. java语言编写进制转换_Java 3种方法实现进制转换

    由其他进制转换为十进制比较简单,下面着重谈一谈十进制如何化为其他进制. 1.使用Java带有的方法Integer,最简单粗暴了,代码如下 //使用java提供的方法 //但仅局限于比较常用的二进制.八 ...

  4. java函数实现进制转换与java实现八进制到十进制的转换(百练OJ:2735:八进制到十进制)

    java进制转换函数介绍:Java二进制.八进制.十进制.十六进制相互转换: 二进制转十进制 Integer.parseInt("0110", 2); 八进制转十进制 Intege ...

  5. java中的进制转换

    进制转换 首先是十进制转化为其他进制,如二进制,八进制,十六进制: 它们在java中都有专门的函数可供调用: 如:十进制转化为二进制时调用toBinaryString(); 十进制转化为八进制时调用t ...

  6. java里的进制转换函数_基于Java中进制的转换函数详解

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  7. java中的进制转换(十进制和二进制)

    在java中有进制转换,其中有十进制,二进制,八进制,十六进制,这里主要讲的是其中的十进制和二进制. 当我们一个数要变成二进制的时候可以对它进行除二运算.就比如6的二进制.如图            ...

  8. 从0开始学习C语言————数组、进制转换、函数

    数组: 什么是数组: 变量的组合,是一种批量定义变量的方式 定义: 类型 数组名[数量]; int num1,num2,num3,num4,num5; int arr[5]; 使用:数组名[下标]; ...

  9. Java实现任意进制转换拓展进制转换计算器

    JAVA实现蓝桥杯基础练习十六进制转换八进制-----------拓展进制转换计算器 这个题目我浏览了大量的道友的文章发现十分麻烦,但仍然从其中收益菲薄,所以在这里分享一下我认为最好的代码 impor ...

最新文章

  1. pytorch attention
  2. Python中的并行处理(Pool.map()、Pool.starmap()、Pool.apply()、)
  3. echarts 选中bush中lineX
  4. 让 步( 写的太好了!)
  5. 群晖python套件包_利用群晖Docker安装ubuntu16.04搭建python网站服务器(部署篇)
  6. JavaScript中的String substring()方法和示例
  7. android新材料设计,android - 如何实现新材料BottomAppBar为BottomNavigationView - SO中文参考 - www.soinside.com...
  8. 联络员(信息学奥赛一本通-T1393)
  9. 令人拍案叫绝的EfficientNet和EfficientDet
  10. Djago模型层(基础)
  11. MegCup 2017 极客挑战赛 初赛试题
  12. mac terminal update management pack
  13. springcloud官方文档_springcloud-microservice 快速构建分布式系统
  14. 好想学python机器人_拥有自动学习的Python机器人-ChatterBot
  15. 关于spark写入文件至文件系统并制定文件名之自定义outputFormat
  16. 微信小程序开发者工具扫码成功但是进不去
  17. E. MEX and Increments
  18. 改进YOLOv7-Tiny系列:首发改进结合BiFPN结构的特征融合网络,网络融合更多有效特征,高效涨点
  19. 《权游》第八季震撼开播,10行代码动态展示其中的爱恨情仇
  20. 建议收藏|事关升学,一篇文章帮你了解科技特长生

热门文章

  1. 2021年美赛B题目简述(中英文)
  2. Python通讯录案例
  3. 转载和积累系列 - linux 生成KEY的方法与使用
  4. aws mysql 升级_aws RDS 版本升级最佳实践的探讨
  5. ABAQUS|多重约束的解决办法!(过约束/螺栓预紧力)
  6. GYM 101350 I. Mirrored String II
  7. AE影视后期特效制作深入剖析AE表达…
  8. 二阶常系数偏微分线性变量代换化简
  9. extjs中dateField日期精确到时分秒的扩展控件
  10. win10自动安装软件