十六进制的元素个数固定,而且还有对应编号,可以用查表法.一个int类型十进制数在32位操作系统中占4个字节,32位2进制数取它的低8位,例如60,在内存中以二进制数0011 1100存放,而一个十六进制数中每一位数对应二进制中4位数,因此可以将十进制数与F进行“与(&)”运算,得出低四位(十六进制中的最低位),然后左移4位继续与F与运算,得出十六进制数的所有位数,然后存在一个数组中,存储的是它从最低位到最高位的所有数,由于顺序是逆的,因此输出时应该去零逆置加上前缀0x输出。

class ArraytoHex {public static void main(String[] args) {int num = 60;String str_hex = toHex(num);System.out.println(str_hex);}/** 需求:十进制转十六进制 思路:十六进制的元素个数固定,而且还有对应编号,可以用查表法.一个int类型* 十进制数在32位操作系统中占4个字节,32位2进制数取它的低8位,例如60,在内存 中以二进制数0011* 1100存放,而一个十六进制数中每一位数对应二进制中4位数, 因此可以将十进制数与F进行“与(&)”运算,得出低四位(十六进制中的最低位),* 然后左移4位继续与F与运算,得出十六进制数的所有位数,然后存在一个数组中,去零逆置输出*/public static String toHex(int num) {// 1.建表char[] chs = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };// 2.创建存储十六进制数的低8位数的临时容器char[] arr = new char[8];// 3.创建操作容器中十六进制数每一位数的下标int index = arr.length;// 4.通过循环对num进行&F,>>>4的操作while (num != 0) {// 5.对num进行&运算得十六进制数最低位数int temp = num & 15;// 6.根据&运算后的结果,作为下标,查表获取对应的字符,将它存储在临时容器中arr[--index] = chs[temp];// 7.对num进行右移,求次低位数num = num >>> 4;}// 8.调用方法,将数组转换成字符串输出return "0x" + toString(arr, index);}// 9.定义一个方法,将数组转换成字符串public static String toString(char[] arr, int index) {String temp = "";for (int x = index; x < arr.length; x++) {temp = temp + arr[x];}return temp;}
}

10进制数转换成16进制相关推荐

  1. 2进制数转换成16进制数(C++)

    程序如下: #include<bits/stdc++.h> using namespace std; //整体思路:二进制中的4个数字对应1个16进制数字 char a[100010]; ...

  2. 编程实现将一个N进制数转换成M进制数

    问题:编程实现将一个N进制数转换成M进制数.(c/c++.Java.Javascript.C#.Python) 1.Python 手写算法版 def conversion_num(num, src, ...

  3. java将一个数转成36进制的数_编程实现将一个N进制数转换成M进制数。

    python: 手写算法版: def conversion_num(num, src, dest): rtn = '' # 1.校验源和目标是否相同 if src == dest: rtn = num ...

  4. 10进制颜色 转换成 16进制

    设计用sketch给的10进制的颜色,比如255 255 255用的时候要转换一下 .写个工具类方便一下 复制代码保存为 html文件就可以用了 <html> <head>&l ...

  5. 将10进制整数转换成16进制整数输出

    题意: 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示. Input 每行一个整数x,0<= x <= 2^31. Output 每行输出对应的八位十六进制整数 ...

  6. 10进制转换成16进制

    更新中......... 任意2-36进制数转化为10进制数. 建议自己写函数,代码如下: int Atoi(string s,int radix) //s是给定的radix进制字符串 {int an ...

  7. MFC中将用户输入的表示16进制数的字符串转换成16进制数输出显示(包含1.wstring转成string的方法函数2.用boost库拆分字符串的函数3.字符转16进制数值的函数)

    前期准备: 1.电脑中安装好boost库,我的电脑中安装在C盘根目录下,如下图所示: 2.配置好boost环境变量,如下图所示: 3.开发环境VS2015,工程为MFC应用程序 需要的头文件如下: # ...

  8. STM32+拨码开关,读取拨码开关电平值并转换成16进制数,一种简洁的编程思路

    以2p拨码开关为例 在main.h中,宏定义单片机IO口和函数HAL_GPIO_ReadPin()的返回值 #define DIP0_Pin GPIO_PIN_0 #define DIP0_GPIO_ ...

  9. QT 16进制数转换成QString显示

    /*  * 16进制数转换成QString显示  */ QString hexToString(unsigned char *in, int len) { int i; unsigned char i ...

最新文章

  1. 小程序登录、用户信息相关接口调整说明
  2. cnzz统计代码引起的Bad Request - Request Too Long
  3. linux c++编写访问mysql程序,访问数据库出错,解决方法
  4. WinForm界面开发之 启动界面
  5. 【安全牛学习笔记】SQLMAP- 自动注入
  6. HDU Problem - 4292 Food(最大流, 建边)
  7. Bootloader及u-boot简介/u-boot系统启动流程
  8. JavaOne 2012覆盖率
  9. Tomcat架构与原理
  10. matlab怎么画二维热力图_[原创]Day3.箱线图和热力图的绘制
  11. WSUS客户端无法发现
  12. 杭电2100Lovekey
  13. 【精选】那些莫名其妙但又不得不服的经济学/社会学/心理学著名定律/效应
  14. 红外测距模块工作原理_红外测温仪方案工作原理
  15. cnzz.php,CNZZ站长统计代码报错解决方法
  16. HTML2CANVAS 合成图片
  17. 挑战微信?三大运营商的目的或许不在这
  18. 击败26个硕士,本科生“歪门邪道”月薪过万
  19. Rust 错误处理 简记
  20. 物联卡机卡分离后该怎么处理?教你一招就能解决!

热门文章

  1. Windows CMD窗口快速切换到某目录的方法
  2. 开源入侵检测系统OSSEC的搭建及使用
  3. Dialogs API: Using Dialogs API
  4. 云计算之路-试用Azure:拐弯抹角的负载均衡
  5. linux启动无线网卡命令,linux以命令行下配置连接wlan无线网卡
  6. win7计算机属 系统还原,如何设置win7系统还原方法以在win7计算机上还原系统
  7. 2022-12-11 第 323 场周赛
  8. 使用C语言通过POST通信,空格导致的400 Bad Request
  9. 计算机窗口预览图,win10系统任务栏缩略图窗口预览速度提升的操作方法
  10. 和别人共享网络,老有人用讯雷什么的,上网卡死了,自己写了局域网流量控制工具,开源出来大家共享