美文网首页
数字转换为十六进制数

数字转换为十六进制数

作者: WAI_f | 来源:发表于2020-06-23 22:42 被阅读0次

题目:

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

注意

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

示例:

输入:
-1
输出:
"ffffffff"

解题方法:

这道题还是细节挺多的:

  1. 有符号数转成无符号数,避免了正负数判断和分开处理;
  2. 0需要专门处理;
  3. 使用tmp字符串,完成字符的查找,使得代码很简洁。

代码和结果:

class Solution {
public:
    string toHex(int num) {
        string a;
        string tmp="0123456789abcdef";
        unsigned int b=num;
        if(b==0)
            return "0";
        while(b)
        {
            int idx=b&15;
            a.push_back(tmp[idx]);
            b>>=4;
        }

        reverse(a.begin(),a.end());
        return a;
    }
};

运行结果:


原题链接:https://leetcode-cn.com/problems/convert-a-number-to-hexadecimal/

相关文章

  • 405-数字转换为十六进制数

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

  • 405. 数字转换为十六进制数

    405. 数字转换为十六进制数[https://leetcode-cn.com/problems/convert-...

  • 数字转换为十六进制数

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

  • 数字转换为十六进制数

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

  • 【Dart/Flutter】一些常用的基本数据格式转换

    十六进制 十六进制转十进制 十六进制转BigInt 十六进制转字符串 有时,从16进制转换为字符串后,因为16进制...

  • 基础练习 十六进制转十进制

    问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15...

  • 基础练习 十六进制转十进制

    问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15...

  • Python 实现简单的进制转换

    老师布置作业如下: 1、十进制数7转换为二进制数是( )2、十进制数1000对应二进制数为( ),对应十六进制数为...

  • 405. 数字转换为十六进制数

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

  • 405. 数字转换为十六进制数-leetcode

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

网友评论

      本文标题:数字转换为十六进制数

      本文链接:https://www.haomeiwen.com/subject/fibkfktx.html