(day 001 - 进制转换) 405. 数字转换为十六进制数
文章目录
- 题目
- 题解
- 解法一:模拟
- 解法二:位运算
题目
题解
解法一:模拟
模拟起来很简单、但是负数需要处理、因为都是用补码表示、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. 数字转换为十六进制数相关推荐
- Java的不同进制输出,[DanoR][Java小码][进制转换::将double转换为不同进制后用String输出]...
功能简述 进制转换 输入: 一个数(double),目标进制(int)和小数的保留位数(int) 输出: 相应进制的表示方式(String) 参数说明 double number; //将要被转换的数 ...
- ASCII码直接16进制转换(16转换为0x16)
字符平行转换16进制.记录一下. 例子:字符串 string str="16 22 0D" 转换为 byte[] byt = new byte[3]; by ...
- 进制转换之十进制转换为十六进制
链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 输入两个十进制的a,b.输出a+b的十六进制表示. 输入描述: 输入一行两个数a,b(1<=a,b<=1e5) 输出描述: 输出 ...
- python求勾股定理_python入门学习随记(二)(勾股定理、球体积、利率、移位和进制转换、数字求和)...
本题目要求读入2个数分别是直角边A和直角边B,然后输出三角形斜边的长度. 输入格式:输入两个数,用空格分隔,用回车键结束输入 输出格式:输出勾股定理计算的结果,结果保留4位有效数字 输入样例:在这里给 ...
- 进制转换之十进制转换为D进制——整数部分除基取余法
将十进制x转换为D进制的y: [方法]:整数采用"除基取余法",小数采用"乘基取整法" [推导]:以三位D进制为例,假设y的各位是a1a2a3 y = a 1 ...
- 进制转换:十进制转换为任意进制、任意进制转换为十进制
目录 十进制转换为任意进制 任意进制转换为十进制 十进制转换为任意进制 //将10进制数num转换为d进制数 void convert_base(int num, int d) {int k;stac ...
- LeetCode 405. 数字转换为十六进制数
1. 题目 给定一个整数,编写一个算法将这个数转换为十六进制数. 对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字母(a-f)都必须是小写. 十六进制字符串中不能包含多余的前导零. ...
- Hutool 数字工具-NumberUtil使用(加减乘除,保留小数,格式化数字,是否为数字,随机数,整数列表,阶乘,平方根,最大公约数和最小公倍数,进制转换,比较大小,去除多余的0)
数字工具针对数学运算做工具性封装. 1 加减乘除 四种运算都会将double转为BigDecimal后计算,解决float和double类型无法进行精确计算的问题.这些方法常用于商业计算. //针对数 ...
- 最常用的DOS命令,进制转换,注释
进制转换 十进制数转换为二进制数采用"除2取余,逆序排列"法 二进制转换为十进制数采用"权相加法" 注释 源文件中的注释语句在编译过程中会被忽略,". ...
- 计算机中关于数字的进制转换
目录 前言 一. 二进制转换 二. 八进制转换 三. 十六进制转换 前言 大家学习了这么久的C语言,有很多很多的小伙伴对于十进制,二进制,八进制,十六进制转换弄混了头,那咱们今天就来细细的对计算 ...
最新文章
- 未来3大趋势:人工智能 产业互联网 大数据与算法
- 解决Failed to load class org.slf4j.impl.StaticLoggerBinder
- android系统学习笔记十一
- 2021-07-07
- adnroid string拼接_Android开发中string.xml文件中字符串的拼接
- findler mac 隐藏文件_fiddler使用实例之----------查找隐藏的真实地址!!!!
- JAVA 创建学生类
- Enterprise Vault 10.0.4 FOR Exchange2013 部署之三-日记邮件归档
- 荣禄[róng lù]
- 解决:ngxin做http强制跳转https,接口的POST请求变成GET
- sql计数_SQL计数区分功能概述
- centos7永久修改ip地址
- 删除Chrome自动完成功能的输入背景色?
- ollydebug+C32Asm
- 三险一金包括什么?三险和五险有什么区别?
- 什么是IDU和ODU
- Celery定时任务
- ps在html中的应用程序,Photoshop在网页设计中的应用
- HDOJnbsp;nbsp;2048nbsp;nbsp;nbsp;神、上帝以及老天爷
- 全国计算机竞赛保送清华,连夺奥赛金牌 高二男生保送清华、北大
热门文章
- ExtJs布局学习笔记
- 在VC中使用Windows管道技术编程
- 2.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的安装和基本概念
- 13. PHP OPcache
- 30.TCP/IP 详解卷1 --- 其他的 TCP/IP 应用程序
- 6. 卷2(进程间通信)---System V 消息队列
- 2.kafka 安装
- 35. 内容协商和转码
- vue路由传多个参数_vue路由传参(两种方法总结)
- php中的全局变量$GLOBALS与global的区别