文章目录

  • 题目
  • 题解
    • 解法一:模拟
    • 解法二:位运算

题目

题解

解法一:模拟

模拟起来很简单、但是负数需要处理、因为都是用补码表示、32位我们不妨直接用负数加上2^32,然后直接进行模拟即可。

class Solution {public String toHex(int num) {if (num == 0){return "0";}long _num = num;if (_num < 0){_num += Math.pow(2,32);}StringBuilder res = new StringBuilder();while (_num != 0){long a = _num%16;char c = a >= 10 ? (char)(a - 10 + 'a'):(char) ('0'+a);res.append(c);_num /= 16;}return res.reverse().toString();}
}

解法二:位运算

二进制转为16进制就是每4位一算、想通这一点就直接进行模拟即可。

class Solution {public String toHex(int num) {if (num == 0){return "0";}StringBuilder sb = new StringBuilder();while (num != 0){int temp = num & 15;char c = temp >= 10 ? (char) (temp - 10 + 'a'):(char) (temp + '0');sb.append(c);num >>>= 4;}return sb.reverse().toString();}
}

(day 001 - 进制转换) 405. 数字转换为十六进制数相关推荐

  1. Java的不同进制输出,[DanoR][Java小码][进制转换::将double转换为不同进制后用String输出]...

    功能简述 进制转换 输入: 一个数(double),目标进制(int)和小数的保留位数(int) 输出: 相应进制的表示方式(String) 参数说明 double number; //将要被转换的数 ...

  2. ASCII码直接16进制转换(16转换为0x16)

    字符平行转换16进制.记录一下. 例子:字符串 string str="16 22 0D" 转换为 byte[] byt = new byte[3];             by ...

  3. 进制转换之十进制转换为十六进制

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 输入两个十进制的a,b.输出a+b的十六进制表示. 输入描述: 输入一行两个数a,b(1<=a,b<=1e5) 输出描述: 输出 ...

  4. python求勾股定理_python入门学习随记(二)(勾股定理、球体积、利率、移位和进制转换、数字求和)...

    本题目要求读入2个数分别是直角边A和直角边B,然后输出三角形斜边的长度. 输入格式:输入两个数,用空格分隔,用回车键结束输入 输出格式:输出勾股定理计算的结果,结果保留4位有效数字 输入样例:在这里给 ...

  5. 进制转换之十进制转换为D进制——整数部分除基取余法

    将十进制x转换为D进制的y: [方法]:整数采用"除基取余法",小数采用"乘基取整法" [推导]:以三位D进制为例,假设y的各位是a1a2a3 y = a 1 ...

  6. 进制转换:十进制转换为任意进制、任意进制转换为十进制

    目录 十进制转换为任意进制 任意进制转换为十进制 十进制转换为任意进制 //将10进制数num转换为d进制数 void convert_base(int num, int d) {int k;stac ...

  7. LeetCode 405. 数字转换为十六进制数

    1. 题目 给定一个整数,编写一个算法将这个数转换为十六进制数. 对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字母(a-f)都必须是小写. 十六进制字符串中不能包含多余的前导零. ...

  8. Hutool 数字工具-NumberUtil使用(加减乘除,保留小数,格式化数字,是否为数字,随机数,整数列表,阶乘,平方根,最大公约数和最小公倍数,进制转换,比较大小,去除多余的0)

    数字工具针对数学运算做工具性封装. 1 加减乘除 四种运算都会将double转为BigDecimal后计算,解决float和double类型无法进行精确计算的问题.这些方法常用于商业计算. //针对数 ...

  9. 最常用的DOS命令,进制转换,注释

    进制转换 十进制数转换为二进制数采用"除2取余,逆序排列"法 二进制转换为十进制数采用"权相加法" 注释 源文件中的注释语句在编译过程中会被忽略,". ...

  10. 计算机中关于数字的进制转换

    目录 前言 一.  二进制转换 二.  八进制转换 三.  十六进制转换 前言 大家学习了这么久的C语言,有很多很多的小伙伴对于十进制,二进制,八进制,十六进制转换弄混了头,那咱们今天就来细细的对计算 ...

最新文章

  1. 未来3大趋势:人工智能 产业互联网 大数据与算法
  2. 解决Failed to load class org.slf4j.impl.StaticLoggerBinder
  3. android系统学习笔记十一
  4. 2021-07-07
  5. adnroid string拼接_Android开发中string.xml文件中字符串的拼接
  6. findler mac 隐藏文件_fiddler使用实例之----------查找隐藏的真实地址!!!!
  7. JAVA 创建学生类
  8. Enterprise Vault 10.0.4 FOR Exchange2013 部署之三-日记邮件归档
  9. 荣禄[róng lù]
  10. 解决:ngxin做http强制跳转https,接口的POST请求变成GET
  11. sql计数_SQL计数区分功能概述
  12. centos7永久修改ip地址
  13. 删除Chrome自动完成功能的输入背景色?
  14. ollydebug+C32Asm
  15. 三险一金包括什么?三险和五险有什么区别?
  16. 什么是IDU和ODU
  17. Celery定时任务
  18. ps在html中的应用程序,Photoshop在网页设计中的应用
  19. HDOJnbsp;nbsp;2048nbsp;nbsp;nbsp;神、上帝以及老天爷
  20. 全国计算机竞赛保送清华,连夺奥赛金牌 高二男生保送清华、北大

热门文章

  1. ExtJs布局学习笔记
  2. 在VC中使用Windows管道技术编程
  3. 2.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的安装和基本概念
  4. 13. PHP OPcache
  5. 30.TCP/IP 详解卷1 --- 其他的 TCP/IP 应用程序
  6. 6. 卷2(进程间通信)---System V 消息队列
  7. 2.kafka 安装
  8. 35. 内容协商和转码
  9. vue路由传多个参数_vue路由传参(两种方法总结)
  10. php中的全局变量$GLOBALS与global的区别