convert-a-number-to-hexadecimal

https://leetcode.com/problems/convert-a-number-to-hexadecimal/

// https://discuss.leetcode.com/topic/60365/simple-java-solution-with-comment/4

public class Solution {
    public String toHex(int num) {
        char []cmap = {‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘};
        StringBuilder sb = new StringBuilder();
        do {
            sb.append(cmap[num & 15]);
            num >>>= 4;
        } while (num != 0);
        return sb.reverse().toString();
    }
}

注意,以上代码里面的 >>> 是无符号位移。也就是不管正数负数,左边空出来的位都是补0.

<<      :     左移运算符,num << 1,相当于num乘以2

>>      :     右移运算符,num >> 1,相当于num除以2

>>>    :     无符号右移,忽略符号位,空位都以0补齐

而C++里面的 >> 根据编译器不同有所区别。一般而言,是带符号的,如果负数,会补1.

时间: 2024-10-09 05:30:35

convert-a-number-to-hexadecimal的相关文章

38. leetcode 405. Convert a Number to Hexadecimal

405. Convert a Number to Hexadecimal Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two's complement method is used. Note: All letters in hexadecimal (a-f) must be in lowercase. The hexadecimal string must no

LeetCode Convert a Number to Hexadecimal

原题链接在这里:https://leetcode.com/problems/convert-a-number-to-hexadecimal/ 题目: Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two's complement method is used. Note: All letters in hexadecimal (a-f) must be in low

[LeetCode] Convert a Number to Hexadecimal 数字转为十六进制

Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complement method is used. Note: All letters in hexadecimal (a-f) must be in lowercase. The hexadecimal string must not contain extra leading 0s. If the nu

405. Convert a Number to Hexadecimal

Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two's complement method is used. Note: All letters in hexadecimal (a-f) must be in lowercase. The hexadecimal string must not contain extra leading 0s. If the nu

[Swift]LeetCode405. 数字转换为十六进制数 | Convert a Number to Hexadecimal

Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complementmethod is used. Note: All letters in hexadecimal (a-f) must be in lowercase. The hexadecimal string must not contain extra leading 0s. If the num

【leetcode?python】Convert a Number to Hexadecimal

#-*- coding: UTF-8 -*- class Solution(object):    hexDic={0:'0',1:'1',2:'2',3:'3',4:'4',5:'5',6:'6',7:'7',8:'8',9:'9',\            10:'a',            11:'b',            12:'c',            13:'d',            14:'e',            15:'f'}            def t

405 Convert a Number to Hexadecimal 数字转换为十六进制数

给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法.注意:    十六进制中所有字母(a-f)都必须是小写.    十六进制字符串中不能包含多余的前导零.如果要转化的数为0,那么以单个字符'0'来表示:对于其他情况,十六进制字符串中的第一个字符将不会是0字符.     给定的数确保在32位有符号整数范围内.    不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法.示例 1:输入:26输出:"1a"示例 2:输入:-1输出:"

[Javascript] Use Number() to convert to Number if possilbe

Use map() and Number() to convert to number if possilbe or NaN. var str = ["1","1.23","3","4.0","five", undefined, .00]; var num = str.map( (s) => { return Number(s); }); console.log(num); //[1, 1.23, 3

[leetcode-405-Convert a Number to Hexadecimal]

Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two's complement method is used. Note: All letters in hexadecimal (a-f) must be in lowercase. The hexadecimal string must not contain extra leading 0s. If the nu

[LeetCode] 405. Convert a Number to Hexadecimal_Easy tag: Bit Manipulation

Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two's complement method is used. Note: All letters in hexadecimal (a-f) must be in lowercase. The hexadecimal string must not contain extra leading 0s. If the nu