使用位运算方法实现十进制数字转换为十六进制数

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

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

@TOC

一、题目

数字转换为十六进制数

十六进制中所有字母(a-f)都必须是小写。

十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。

给定的数确保在32位有符号整数范围内。

不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。

在这里插入图片描述

二、解题思路

采用位运算的方法,并一反程序员常规思维,从左边开始计算。即首先将数向右位移47位,和0xf做位与运算,运算出的结果存入字符串里,再将原数重新向右位移46位,同样与0xf做位与运算,以此类推。

位运算可以看此篇博文:Java 位运算(移位、位与、或、异或、非)

三、代码实现

class Solution {
    public String toHex(int num) {
        if (num == 0) {
            return "0";
        }
        StringBuffer sb = new StringBuffer();
        for (int i = 7; i >= 0; i --) {
            int val = (num >> (4 * i)) & 0xf;//从左到右开始算,这样保证高位始终在前
            if (sb.length() > 0 || val > 0) {//不能只写val>0,那样中间位的0就不会被存进去了
                char digit = val < 10 ? (char) ('0' + val) : (char) ('a' + val - 10);//大于9按a,b,c,d,e,f存
                sb.append(digit);
            }
        }
        return sb.toString();
    }
}
相关文章
|
NoSQL 安全 Linux
Linux 中 core dump 文件的作用和使用方法
Linux 中 core dump 文件的作用和使用方法
2799 1
|
4月前
|
数据采集 运维 监控
金融行业RPA案例全解析:银行、证券、保险落地实践与价值数据
凌晨两点,银行、证券、保险、基金从业者仍在与数据搏斗。RPA“数字员工”正颠覆这一现状,通过自动化处理开户、清算、理赔、净值计算等高重复任务,大幅提升效率与合规性。实在智能的实在Agent以AI能力破解非结构化数据难题,助力金融行业实现从“人海战术”到“智能协同”的跨越,释放人力聚焦高价值服务,推动数字化转型迈向新阶段。
510 1
|
4月前
|
SQL 自然语言处理 BI
另辟蹊径的 Text2SQL,不用大模型也能搞 chatBI
润乾报表NLQ组件摒弃大模型路线,采用规则词典与领域知识库,将自然语言精准转化为MQL查询语言,实现稳定、低成本、可维护的ChatBI。其核心在于结构化语义解析,避免“幻觉”,支持复杂多表关联与计算,适用于企业级BI场景,是可靠高效的自然语言查询解决方案。
|
5月前
|
人工智能 自然语言处理 架构师
智能体来了:黎跃春老师视角下,IP操盘手的AI企业赋能实践
黎跃春老师提出“技术是1,营销是0”,强调AI赋能企业需重构人、流程与数据关系。依托阿里云百炼平台,IP操盘手可打造“工具提效、人创价值”的智能体,实现从流量运营到企业服务的升级。
|
11月前
|
域名解析 弹性计算 安全
阿里云服务器安装宝塔面板、安装网站(新手图文教程)
本文详细介绍了从注册阿里云账号到使用宝塔面板安装网站的完整流程,包括阿里云账号的企业认证、服务器购买与安全规则配置、宝塔面板的安装及网站部署等步骤。通过图文并茂的方式,帮助用户轻松完成阿里云服务器的搭建和管理。适合新手快速上手,实现网站从零到有的全过程。如果觉得有用,别忘了点赞收藏!
8957 3
阿里云服务器安装宝塔面板、安装网站(新手图文教程)
|
12月前
|
运维 测试技术
当一个按键“摆烂”时,需要更换整个键盘吗?
键盘按键失灵时,别急着更换整个键盘!本文教你通过三步解决:诊断病因、对症下药、预防复发。首先进行“键盘体检”,包括跨设备验证、软件驱动测试、BIOS检测及硬件检查,找出是污垢、物理损坏还是电路故障。接着针对问题提供治疗方案,如更新驱动、清洁键槽或更换零件。最后提醒大家优先排查软件问题,温柔清洁,理性对待物理损坏,并建议选购可维护性强的键盘。记住,善待键盘,远离零食屑,让输入更顺畅!
692 3
|
机器学习/深度学习 测试技术 计算机视觉
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
335 14
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
|
Linux
linux/mac 下查看、修改文件权限的命令
这篇文章介绍了在Linux和Mac操作系统下如何查看和修改文件及文件夹的权限。
1083 0
|
异构计算
CCF推荐B类会议和期刊总结:(计算机体系结构/并行与分布计算/存储系统领域)
中国计算机学会(CCF)定期发布国际学术会议和期刊目录,为科研人员提供参考。本文总结了计算机体系结构、并行与分布计算、存储系统领域的CCF推荐B类会议和期刊,包括会议和期刊的全称、出版社、dblp文献网址及领域分类。会议涵盖了SoCC、SPAA、PODC等26项重要国际会议,期刊则包括TAAS、TODAES、TECS等9种权威期刊,为相关领域的研究者提供了宝贵的资源。
CCF推荐B类会议和期刊总结:(计算机体系结构/并行与分布计算/存储系统领域)

热门文章

最新文章