题目

给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。

注意:

  1. 十六进制中所有字母(a-f)都必须是小写。
  2. 十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。
  3. 给定的数确保在32位有符号整数范围内。
  4. 不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。

示例 1:

输入:
26输出:
"1a"

示例 2:

输入:
-1输出:
"ffffffff"

解法

思路: 位运算。使用位运算,每4位,对应1位16进制数字。 将输入右移4位,再做一次,直到输入变为0 这里两个概念了解下:

位与(&): 第一个操作数的的第n位于第二个操作数的第n位如果都是1,那么结果的第n为也为1,否则为0。

无符号右移: 位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。

class Solution {public String toHex(int num) {if(num == 0){return "0";}char[] array = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};StringBuilder result = new StringBuilder();while(num != 0){// 使用位与,与15位与是因为15二进制位1111,可以得到num的后四位result.append(array[num & 15]);// 无符号右移,左边填0num = num >>> 4;}return result.reverse().toString();}
}

总结

本篇文章讲解了算法题目的思路和解法,代码和笔记由于纯手打,难免会有纰漏,如果发现错误的地方,请第一时间告诉我,这将是我进步的一个很重要的环节。以后会定期更新算法题目以及各种开发知识点,如果您觉得写得不错,不妨点个关注,谢谢。

每日算法-数字转换为十六进制相关推荐

  1. 如何在JavaScript中将十进制转换为十六进制

    如何在JavaScript中将十进制值转换为等效的十六进制值? #1楼 如果要将数字转换为RGBA颜色值的十六进制表示形式,我发现这是以下几个技巧中最有用的组合: function toHexStri ...

  2. python 数字转十六进制_405. 数字转换为十六进制数(Python)

    题目 难度:★☆☆☆☆ 类型:数学 给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意 十六进制中所有字母(a-f)都必须是小写. 十六进制字符串中不 ...

  3. 每日算法C语言1-求某整数

    每日算法C语言 题目 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析: 在10万以内判断,先将该数加上100后再开方,再将该数加上168后再开方如 ...

  4. 如何将字节数组转换为十六进制字符串,反之亦然?

    如何将字节数组转换为十六进制字符串,反之亦然? #1楼 在此不谈很多答案,但我发现十六进制字符串解析器的实现相当理想(比公认的要好约4.5倍),直接实现. 首先,我的测试输出(第一批是我的实现): G ...

  5. 数字转换为十六进制数

    数字转换为十六进制数 给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字母(a-f)都必须是小写. 十六进制字符串中不能包含多余的 ...

  6. C语言ip地址转换成十六进制,在C ++中将IP地址转换为十六进制的程序

    使用输入作为IP地址值给出,任务是将给定IP地址表示为其十六进制等效项. 什么是IP地址 IP地址或Internet协议是一个唯一编号,用于唯一描述您连接到网络的硬件.Internet是指通过网络和协 ...

  7. 整数反转leetcode java_【Java】【每日算法/刷穿 LeetCode】7. 整数反转(简单)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]7. 整数反转(简单) 宫水三叶发布于 今天 12:10 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数 ...

  8. 【每日算法】C语言8大经典排序算法(2)

    接上文--->[每日算法]C语言8大经典排序算法(1) 二.插入类排序 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中 ...

  9. java回文数算法for_【Java】【每日算法/刷穿 LeetCode】9. 回文数(简单)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]9. 回文数(简单) 宫水三叶发布于 今天 15:30 题目描述 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从 ...

最新文章

  1. java stream 取某个字段_java8的函数式编程和stream使用心得
  2. Windows 2003不同域之间迁移密码方法笔记截图
  3. 使用ASM进行人脸相关识别的预处理
  4. lintcode:形状工厂
  5. Excel,Python,SQL?数据分析师的技能树要怎么点?
  6. 【Linux】一步一步学Linux——declare命令(217)
  7. 想找一个写Wiki的工具
  8. C# ASP.NET B/S模式下,采用lock语法 实现多用户并发产生不重复递增单号的一种解决方法技术参考...
  9. 使用sql服务器发送贺卡_创建和发送免费电子贺卡的最佳网站
  10. opencv 骨架提取_抗爆墙方盛提取车间抗爆墙记录@温州贴吧
  11. 在云端开展深度学习正逢其时
  12. 4. ubuntu php composer
  13. lisp怎么改成vlx_如何用CAD自带的VLisp修改Lisp文件并且生成vlx文件??
  14. java 视频处理_Java结合FFmpeg实现视频处理
  15. sql语句中日期相减的操作
  16. 深度学习中的迁移学习介绍
  17. 领域对象映射到微服务代码模型
  18. Google Chrome企业咨询服务市场调研报告- 行业发展机遇、市场定位及主要驱动因素
  19. VS2015+MATLAB2016b混合编程
  20. 《霍乱时期的爱情》读后感

热门文章

  1. centos:centos7.3镜像下载
  2. 厂区佩戴安全帽检测算法 yolov5
  3. 谈谈对数据库索引的了解—这些就很重要!!附相关高频面试题。
  4. Linux(CentOS7)安装MySQL-5.7版本
  5. 如何运用dos命令进入指定目录
  6. 彩信数据库mmssms.db
  7. ❤️❤️熬夜整理!最新零基础至高级自动化测试面试题,题多涵盖面广(建议收藏)❤️❤️
  8. 佳能Canon PIXMA MX715 打印机驱动
  9. Apple Watch 的传感器
  10. Type-C扩展坞常用料号大全|音视频芯片|cc协议芯片|PD芯片|HUB芯片|网口芯片|音频芯片