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

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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python正则匹配中文或数字_Python匹配中文的正则表达式

    python正则匹配中文或数字_Python匹配中文的正则表达式正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。Python正则表达式简介正则表达式是一个特殊的字符序列,它能帮助你方…

  • 怎么安装pycharm及环境变量配置_pycharm配置python环境

    怎么安装pycharm及环境变量配置_pycharm配置python环境pycharm安装以及其环境的配置说明此次我们使用win10系统安装pycharm的64位社区版,并且对Anaconda3中自带的Python3进行环境的配置,如果您没有Anaconda3甚至是没有Python3环境,可以参考Anaconda3安装教程及说明,如果您的pip源未更改,这里推荐您改为使用国内的pip源,这样可以更快的下载组件,方法见修改pip源至国内镜像网站。教程从开始菜单中找到你的AnacondaPrompt并打开…

  • intellj 激活码2021(最新序列号破解)

    intellj 激活码2021(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • gbase导出sql_gbase修改字段名称

    gbase导出sql_gbase修改字段名称喵了个咪的。到目前为止,自己已经用过SQLSERVER,MySQL,Oracle,SQLite,加上南大通用GBASE五种数据库了。虽然每种都用的不深注:GBASE提供了C的API,查看手册即可。不支持string。用C++配置GBASE:对方提供了32位和64位windows下的库。在程序中添加gbase.herrmsg.h两个头文件,导入gbaseclient.liblibgb…

    2022年10月31日
  • CentOS 中用 Yum 安装、卸载软件

    CentOS 中用 Yum 安装、卸载软件一:Yum简介Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。二:常用的Yum命令1、显示已经安装的软件包yumlist…

  • pycharm2021.12激活_在线激活「建议收藏」

    (pycharm2021.12激活)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~00…

发表回复

您的电子邮箱地址不会被公开。

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