LeetCode 405. 数字转换为十六进制数
1. 題目
給定一個(gè)整數(shù),編寫(xiě)一個(gè)算法將這個(gè)數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)。
對(duì)于負(fù)整數(shù),我們通常使用 補(bǔ)碼運(yùn)算 方法。
注意:
十六進(jìn)制中所有字母(a-f)都必須是小寫(xiě)。
十六進(jìn)制字符串中不能包含多余的前導(dǎo)零。
如果要轉(zhuǎn)化的數(shù)為0,那么以單個(gè)字符’0’來(lái)表示;對(duì)于其他情況,十六進(jìn)制字符串中的第一個(gè)字符將不會(huì)是0字符。
給定的數(shù)確保在32位有符號(hào)整數(shù)范圍內(nèi)。
不能使用任何由庫(kù)提供的將數(shù)字直接轉(zhuǎn)換或格式化為十六進(jìn)制的方法。
來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/convert-a-number-to-hexadecimal
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
class Solution { public:string toHex(int num) {if(num == 0)return "0";unsigned int k = num;//負(fù)數(shù)轉(zhuǎn)無(wú)符號(hào)數(shù)string ans = "";char m[16] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};while(k){ans.push_back(m[k%16]);k /= 16;}reverse(ans.begin(), ans.end());return ans;} };4 ms 8.1 MB
總結(jié)
以上是生活随笔為你收集整理的LeetCode 405. 数字转换为十六进制数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode MySQL 1435.
- 下一篇: LeetCode MySQL 1241.