当前位置:网站首页>LeetCode_位运算_简单_405.数字转换为十六进制数
LeetCode_位运算_简单_405.数字转换为十六进制数
2022-08-01 12:21:00 【小城老街】
1.题目
给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用补码运算方法。
注意:
① 十六进制中所有字母 (a - f) 都必须是小写。
② 十六进制字符串中不能包含多余的前导零。如果要转化的数为 0,那么以单个字符 ‘0’ 来表示;对于其他情况,十六进制字符串中的第一个字符将不会是 0 字符。
③ 给定的数确保在 32 位有符号整数范围内。
④ 不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。
示例 1:
输入:
26
输出:
“1a”
示例 2:
输入:
-1
输出:
“ffffffff”
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/convert-a-number-to-hexadecimal
2.思路
(1)位运算
3.代码实现(Java)
//思路1————位运算
class Solution {
public String toHex(int num) {
if (num == 0) {
return "0";
}
StringBuilder builder = new StringBuilder();
// int 类型的二进制整数有 32 位,故只需遍历 8 组 4 个二进制位
for (int i = 7; i >= 0; i--) {
// 从高位开始转换
int value = (num >> (4 * i)) & 0xf;
if (builder.length() > 0 || value > 0) {
char digit;
if (value < 10) {
digit = (char) ('0' + value);
} else {
digit = (char)('a' + value - 10);
}
builder.append(digit);
}
}
return builder.toString();
}
}
边栏推荐
- [CLion] CLion always prompts "This file does not belong to any project target xxx" solution
- 关于Request复用的那点破事儿。研究明白了,给你汇报一下。
- How to Integrate Your Service Registry with Istio?
- Qt获取文件夹下所有文件
- Favorites|Mechanical Engineer Interview Frequently Asked Questions
- 如何设计一个分布式 ID 发号器?
- 2022 Go ecosystem rpc framework Benchmark
- JS数据类型转换完全攻略
- Pytest电商项目实战(下)
- How much do you know about Amazon reviews?
猜你喜欢
随机推荐
R语言诊断ARIMA模型:forecast包构建了一个ARIMA模型、使用checkresiduals函数诊断ARIMA模型、并进行结果解读(拟合较差的ARIMA模型具有的特点)
SQL函数 %SQLUPPER
Alibaba Cloud Official Redis Development Specification
R语言ggplot2可视化:使用ggpubr包的ggscatter函数可视化散点图、使用xscale函数指定X轴坐标轴度量调整方式、设置x轴坐标为scientific使用科学计数法显示坐标值
bpmn-process-designer基础上进行自定义样式(工具、元素、菜单)
SCHEMA解惑
Several methods of appending elements are commonly used in js: append, appendTo, after, before, insertAfter, insertBefore, appendChild
Aeraki Mesh 正式成为 CNCF 沙箱项目
[Open class preview]: Research and application of super-resolution technology in the field of video quality enhancement
关于亚马逊测评,你了解多少?
小程序插件如何帮助开发者受益?
Dapr 与 NestJs ,实战编写一个 Pub & Sub 装饰器
MySQL调优
The use of Ts - Map type
腾讯云原生:Areaki Mesh 在 2022 冬奥会视频直播应用中的服务网格实践
实现集中式身份认证管理的案例
ddl and dml in sql (the difference between database table and view)
程序员的自我修养
STM32 CAN filter configuration details
程序员如何优雅地解决线上问题?








