数组—进制转换(查表法)

数组—进制转换(查表法)

package com.shuzu;

public class shuzuJinZhiZhuanHuan {

     * @param a 所要转换的十进制数,b 不同进制所要与(&)的数不同,wei 向右移动几位

     * 查表法

     * 十进制转二进制

     * 十进制转十六进制

     * 定义数组字符表

     * 定义数组容器arr,长度为32位(二进制) or 8位(十六进制)

     * 定义指针pos

     * 循环传入参数(int a),判断a的值如果不等于0继续循环

     *

     * 60—0000 0000 0000 0000 0000 0000 0011 1100

     * &15  0000 0000 0000 0000 0000 0000 0000 1111

     * ———————————————-

     *      0000 0000 0000 0000 0000 0000 0000 1100 = 12 ‘C’

    

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        trans(60,15,4);

    }

    

    public static void trans(int a,int b,int wei){

        char[] temp = { ‘0’,’1′,’2′,’3′,

                        ‘4’,’5′,’6′,’7′,

                        ‘8’,’9′,’A’,’B’,

                        ‘C’,’D’,’E’,’F’ }; //字符表

        char[] arr = new char[32];   //定义容器,用来存储转换后的字符数组

        int su = 0;                     //定义临时变量,用于存储与&之后的结果

        int pos = arr.length;         //定义指针下标,从数组的最后一位开始,用于从后往前存,将结果反转

        while(a!=0){                 //循环移位之后的十进制数

            su = a & b;                 //将与&的结果存入临时变量su中    

            arr[–pos] = temp[su];     //temp[su],将字符表中下标位su的字符存入arr中,–pos,从数组的最后一位开始存,每次减一向前移动一位

            a = a >>> wei;             //将十进制数想右移动4位(十六进制) or 1位(二进制),一遍得到下一个四位的值

转载于:https://www.cnblogs.com/limpoo/p/3313470.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110060.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 区块链关键技术点在应用实践中的解决方案

    区块链关键技术点在应用实践中的解决方案

    2021年5月27日
    107
  • MyBatis快速入门第八讲——MyBatis逆向工程自动生成代码

    MyBatis快速入门第八讲——MyBatis逆向工程自动生成代码MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码什么是逆向工程MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。使用逆向工程

    2022年6月19日
    38
  • H3C交换机常用命令大全

    H3C交换机常用命令大全一.用户配置:system-view[H3C]superpasswordH3C设置用户分级密码[H3C]undosuperpassword删除用户分级密码[H3C]localuserbigheap1234561Web网管用户设置,1(缺省)为管理级用户,缺省admin,admin[H3C]undolocaluserbigheap删…

    2022年6月20日
    31
  • error C141(C2G的交易平台有哪些)

    1.堆栈总分布为:2G2G=2*1024*1024*1024B=2*10^9;#defineMAXBIT   100000  #defineMAXLEAF  4000 typedefstruct {  intbit[MAXBIT];  intstart;}HCodeType;    /*编码结构体*/

    2022年4月12日
    64
  • 力矩< torque>详解

    力矩< torque>详解力矩:物理学里是指作用力使得物体绕着转动轴或支点转动的趋向。单位是牛顿-米。力对物体产生转动作用的物理量(分为:力对轴的矩和力对点的矩)即为:M=L*F。L是从转动轴到着力点的距离矢量,F也是矢量力;因此力矩也是矢量。力对轴的矩是力对物体产生绕某一轴转动作用的物理量,其大小等于力在垂直于该轴的平面上的分量和此分力作用线到该轴垂直距离的乘积。例如开门时,外力F平行于门轴的分力FП

    2022年5月14日
    56
  • linux安装svn服务器_linux安装svn客户端

    linux安装svn服务器_linux安装svn客户端1.https://tortoisesvn.net/downloads.html网站下载2.安装的时候如果出现下图的报错打开这个网站https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=49062,会自动帮你下载下载完成后安装即可3.没有特殊需求则默认安装4.出现这个则安装成功MySQL安装…

    2022年8月18日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号