政务桌面应用系统开发提升政府服务效率的关键所在
1041
2022-09-09
LeetCode——405.数字转换为十六进制数
题解
表面是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; }};
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~