
題解
- 表面是10進制轉換為16進制,實際上可以直接使用計算機存盤的2進制形式轉換為16進制
- 2進制 → 16進制,就是4位合并,
- 對于負數,仍然是4位合并,
- 但是負數補碼存盤,進行算數右移操作時,左補1,所以對于負數,算數右移操作永遠都不會是0,需要控制位數,
- 32位2進制變成16進制,是8位.
AC-Code
class Solution {
public:
string toHex(int num) {
if (num == 0) return "0";
string hex = "0123456789abcdef";
string ans = "";
while(num && ans.size() < 8) {
ans = hex[num & 0xf] + ans;
num >>= 4;
}
return ans;
}
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/95907.html
標籤:其他
上一篇:江蘇省的計算機二級考試c語言
下一篇:Tomcat服務器
