当前位置: 首页 > news >正文

52进制 java,Java实现的26进制转换

今天看到有个羣聊里分享了一道面试题,感觉挺有意思的就尝试了一下,代码如下:

public class Hex26 {

// 进制基础值,也可以修改为'a'

private final static char A = 'A';

public static void main(String[] args) {

int[] arr = {

0, 1, 2,

25, 26, 27,

51, 52, 53,

77, 78, 79

};

for (int i : arr) {

String str = toHex26(i);

System.out.printf("old: %d, str: %s, int: %d \n", i, str, compareHex26(str));

}

}

private static String toHex26(int i) {

StringBuilder sb = new StringBuilder();

if (i == 0) {

sb.append(A);

return sb.toString();

}

int divide = i / 26;

if (divide > 0) {

for (int j = 0; j < divide; j++) {

sb.append(A);

}

}

int m = i % 26;

char c = (char)(A + m);

sb.append(c);

return sb.toString();

}

private static int compareHex26(String hex) {

int i = 0, j = 0;

for (; j < hex.length() - 1; j++) {

char c = hex.charAt(j);

int diff = c - A;

if (diff == 0) {

i += 26;

}else {

i += diff;

}

}

if (j == hex.length()-1) {

char c = hex.charAt(j);

i += c - A;

}

return i;

}

}

输出结果如下:

old: 0, str: A, int: 0

old: 1, str: B, int: 1

old: 2, str: C, int: 2

old: 25, str: Z, int: 25

old: 26, str: AA, int: 26

old: 27, str: AB, int: 27

old: 51, str: AZ, int: 51

old: 52, str: AAA, int: 52

old: 53, str: AAB, int: 53

old: 77, str: AAZ, int: 77

old: 78, str: AAAA, int: 78

old: 79, str: AAAB, int: 79

over~

相关文章:

  • php自我介绍50字,简短自我介绍50字
  • matlab 添加子图图案,matplotlib给子图添加图例的方法
  • oracle exp exp-00056,ORACLE导出报EXP-00056错误解决办法
  • net网页,连接oracle数据库,.net程序远程连接Oracle数据库
  • 教务管理系统 免费 php,php教务信息发布与管理系统
  • php 多点到线距离,双绞线的通信距离是多少
  • oracle客户端没有tnsnames,安装好Oracle Client以后没有tnsnames.ora文件
  • 查linux进程数,linux进程状态查询——ps
  • linux 系统调用返回 1,Linux内核系统调用返回-1而不是{-1,-256}
  • win7保存不了linux系统凭据,Win7无法保存凭据导致网络打印机脱机怎么办 解决方法介绍...
  • linux命令中的cp,【整理】Linux命令中:rsync和cp之间的区别
  • linux命令grpck,Linux基础命令---验证组文件grpck
  • linux文件夹按日期排序,linux – 如何按日期对文件内容进行排序?
  • linux源码编译rpm,Linux RPM 命令详解及源码编译安装
  • 企业 linux安装软件有哪些,RedHat 6.0 Enterprise企业版如何使用yum安装软件
  • Android框架之Volley
  • CSS 专业技巧
  • CSS中外联样式表代表的含义
  • emacs初体验
  • Github访问慢解决办法
  • JAVA之继承和多态
  • leetcode388. Longest Absolute File Path
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • opencv python Meanshift 和 Camshift
  • v-if和v-for连用出现的问题
  • 工作手记之html2canvas使用概述
  • 猴子数据域名防封接口降低小说被封的风险
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 微信小程序填坑清单
  • 一个项目push到多个远程Git仓库
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • $refs 、$nextTic、动态组件、name的使用
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (1)常见O(n^2)排序算法解析
  • (13):Silverlight 2 数据与通信之WebRequest
  • (2)STL算法之元素计数
  • (八)c52学习之旅-中断实验
  • (初研) Sentence-embedding fine-tune notebook
  • (一)Java算法:二分查找
  • (正则)提取页面里的img标签
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Project Open Day(2011.11.13)
  • .Net7 环境安装配置
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET中winform传递参数至Url并获得返回值或文件
  • ::前边啥也没有
  • @WebServiceClient注解,wsdlLocation 可配置
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • []T 还是 []*T, 这是一个问题
  • [2023-年度总结]凡是过往,皆为序章
  • [C++]打开新世界的大门之C++入门
  • [element-ui] el-dialog 中的内容没有预先加载,因此无法获得内部元素的ref 的解决方案