Java 3种方法实现进制转换
作者:鄙人剑人肖 发布时间:2022-03-24 00:02:03
标签:Java,进制,转换
由其他进制转换为十进制比较简单,下面着重谈一谈十进制如何化为其他进制。
1.使用Java带有的方法Integer,最简单粗暴了,代码如下
//使用java提供的方法
//但仅局限于比较常用的二进制、八进制、十六进制
public static String trans1(int num, int radix)
{
if(radix == 2)
return Integer.toBinaryString(num);
else if(radix == 8)
return Integer.toOctalString(num);
else if(radix == 16)
return Integer.toHexString(num);
return null;
}
2.使用数组进行交换,贴码:
//使用数组的形式进行转换
public static void trans2(int num, int radix)
{
System.out.println(num+"转成"+radix+"进制数为:");
//创建数组,32位
char[] arr = new char[32];
//创建参考字符数组
char[] ch = {
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
};
//指针,从数组最后开始
int pos = 32;
//开始循环计算num和radix的商和余数
while(num > 0)
{
arr[--pos] = ch[num % radix];
num /= radix;
/*
* 这里是针对二进制、八进制和十六进制进行的移位运算
arr[--pos] = ch[num&(radix-1)];
if(radix == 2)
num >>= 1;
else if(radix == 8)
num >>= 3;
else if(radix == 16)
num >>= 4;
*/
}
//输出有效的进制数
for(int i = pos; i < 32; i++)
System.out.print(arr[i]);
System.out.println();
}
3.使用StringBuilder类型,贴码:
//使用StringBuilder进行转换
public static String trans3(int num, int radix)
{
//使用StringBuilder的reverse方法
StringBuilder sb = new StringBuilder();
while(num > 0)
{
//把除以基数的余数存到缓冲区中
sb.append(num % radix);
num /= radix;
}
return sb.reverse().toString();
}
来源:https://www.cnblogs.com/xiaolongdejia/archive/2004/01/13/10867121.html


猜你喜欢
- 第一种方式(只使用Caffeine)gradle添加依赖dependencies { implementation
- 一、前言 验证码可以说在我们生活中已经非常普遍了,任何一个网站,任何一个App都
- 本文将会介绍Jetpack Compose中的Modifier。在谷歌官方文档中它的描述是这么一句话:Modifier元素是一个有序、不可变
- SSM Mapper查询出返回数据查不到个别字段原因开启了驼峰命名法则,Bean里的字段不识别_注释掉或者把实体类里的字段_去掉换位大写SS
- 最近项目上要实现语音搜索功能,界面样式要模仿一下UC浏览器的样式,UC浏览器中有一个控件,会随着声音大小浮动,然后寻思偷个懒,百
- spring配置不扫描service层原因我将contoller给springmvc进行扫描,然后其余所有交给spring扫描然后发现ser
- 目录前言令牌中继令牌难道不能在Feign自动中继吗?实现令牌中继InheritableThreadLocal实现令牌中继总结前言在Sprin
- 在eclipse中默认的maven,它加载的是国外的镜像,那样速度会比较慢,如果使用国内镜像,比如阿里的中央仓库;速度会快很多。那如何修改m
- 首先,我们使用使用命令创建模板项目,创建的命令如下。taro init myApp然后,使用 yarn 或者 npm install安装依赖
- 1.c#里面的TabControl控件没有关闭按钮,而且很难看。2.有一些已经做好的第三方控件,但是收费。3.由于我的故障树推理诊断项目在绘
- 本文实例讲述了C#编程获取IP地址的方法。分享给大家供大家参考,具体如下:1、获取客户端IP/// <summary>/// 获
- Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算
- HashTable和HashMap区别第一,继承的父类不同。Hashtable继承自Dictionary类,而HashMap继承自Abstr
- 一、新建项目我们这次直接从IEDA创建项目,具体配置如下,还是万年的Java8。二、docker-compose 配置mongoDBdock
- 这篇文章主要介绍了Spring @Transactional注解失效解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 原因分析使用ajax从前台页面传输数据到后台controller控制器的时候,出现中文乱码其实乱码问题出现的原因,就是由于默认的tomcat
- 今年新开Java课程第一步就是…配置环境就从Java的环境配置开始好了以下是正式的步骤首先,从Oracle的官网下载jdk的安装包点我下载J
- 一、跨域认证的问题互联网服务离不开用户认证。一般流程是下面这样。1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(sess
- 前言Android 7.0系统发布后,拿到能升级的nexus 6P,就开始了7.0的适配。发现在Android 7.0以上,在相机拍照和图片
- 上篇教程回顾ServerSocket --监听客户端的连接,他的作用主要是建立一个连接-ServerSocket -建立连接,拿到一个Soc