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

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

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年8月25日 上午10:00
下一篇 2021年8月25日 上午10:00


相关推荐

  • 下拉刷新Demo[通俗易懂]

    下拉刷新Demo[通俗易懂]引用了网上的demo。packagecom.news.utils;importjava.text.SimpleDateFormat;importjava.util.Date;importcom.news.todaynews.R;importandroid.content.Context;importandroid.util.AttributeSet;impor

    2025年6月26日
    4
  • 【本·伍德Lua专栏】补充的基础09:使用table.concat将一个大的字符串

    【本·伍德Lua专栏】补充的基础09:使用table.concat将一个大的字符串

    2022年1月10日
    47
  • exceljs 笔记

    exceljs 笔记官网 exceljs 可以生成带样式的表格 但是解析表格来说不是很方便引用 npminstallex 创建表格 sheetvarExce require exceljs varworkbook newExcel Workbook varsheet workbook addWorksheet MySheet Removethe

    2026年3月19日
    1
  • osgb转3dtiles之数据篇

    osgb转3dtiles之数据篇前不久 终于对 osgb 以及 3dtiles 的数据结构有了足够的了解 成功地利用 FME 将 osgb 数据转换成了 3dtiles 数据 于是 我开心地决定先来写一下如何将 osgb 转换成 3dtiles 数据 为了让大家能够比较详细的了解这两个数据格式 该系列文章一共分为上下两篇 我将会从 osgb 与 3dtiles 的数据结构以及层级构建两个方面对其进行介绍 下篇仍在酝酿中 所以我们可以先将此篇作为单篇来看 本篇文章 仅讲解 osgb 与 3dtiles 的数据结构 不会涉及到层级等等的介绍 但为了能够成功的看到我们最终转换出来

    2026年2月18日
    3
  • python和pycharm之间的关系_学习python你必须弄懂的 Python、Pycharm、Anaconda 三者之间的关系…

    python和pycharm之间的关系_学习python你必须弄懂的 Python、Pycharm、Anaconda 三者之间的关系…Python 作为深度学习和人工智能学习的热门语言 学习一门语言 除了学会其简单的语法之外还需要对其进行运行和实现 才能实现和发挥其功能和作用 下面来介绍运行 Python 代码常用到的工具总结 一 Python Pycharm Anaconda 关系介绍 1 PythonPython 是一种跨平台的计算机程序语言 是一个高层次的结合了解释性 编译性 互动性和面向对象的脚本语言 最初被设计用于编写自动化脚本

    2026年3月27日
    3
  • C# Repeater嵌套循环[通俗易懂]

    C# Repeater嵌套循环[通俗易懂]前台代码:<asp:RepeaterID=”rptList”runat=”server”OnItemDataBound=”users_list”><HeaderTemplate><tablewidth=”100%”border=”0″cellspacing=”0″cellpadding=”0″…

    2022年7月14日
    21

发表回复

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

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