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

算法:进制之前的转换

1. X进制转换成十进制-V1:

    /*** 笨办法,从左往右开始* Tips:只支持正数** @param num* @param radix* @return*/private static Integer xToTenV1(String num, Integer radix) {if (num.length() == 0 || num.charAt(0) == '-') {throw new IllegalArgumentException();}String[] arrays = num.split("");int len = arrays.length;int result = 0, digit = 0, digitRadix = 1;for (int i = 0; i < len; i++) {digit = Integer.parseInt(arrays[len - 1 - i]);if (i != 0) {digitRadix *= radix;}result += digit * digitRadix;}return result;}

2. X进制转换成十进制-V2:

    /*** 参照Integer.parseInt(String s,int radix) 方法* 核心逻辑:* result*=radix;* result-=digit;* return -result;* Tips:只支持正数** @param num* @param radix* @return*/private static Integer xToTenV2(String num, Integer radix) {if (num.length() == 0 || num.charAt(0) == '-') {throw new IllegalArgumentException();}String[] arrays = num.split("");int len = arrays.length;int result = 0, digit = 0;for (int i = 0; i < len; i++) {digit = Integer.parseInt(arrays[i]);result *= radix;result -= digit;}return -result;}

3. 十进制转换成X进制:

    /*** Tips:只支持正数** @param mun* @param radix* @return*/public static String tenTox(int mun, int radix) {if (mun < 0) {throw new IllegalArgumentException();}StringBuilder sb = new StringBuilder();int[] array = new int[33];int index = 32;// 短除法while (mun >= radix) {array[index--] = mun % radix;mun = mun / radix;}array[index] = mun;for (int i = index; i < 33; i++) {sb.append(array[i]);}return sb.toString();}

http://www.lryc.cn/news/256072.html

相关文章:

  • VS2009和VS2022的错误列表可复制粘贴为表格
  • springboot3 liquibase SQL执行失败自动回滚,及自动打tag
  • Flink入门之核心概念(三)
  • 算法备胎hash和队列的特征——第五关青铜挑战
  • LLM之Agent(五)| AgentTuning:清华大学与智谱AI提出AgentTuning提高大语言模型Agent能力
  • LLM之Agent(三):HuggingGPT根据用户需求自动调用Huggingface合适的模型
  • 【上海大学数字逻辑实验报告】五、记忆元件测试
  • yaml工作常用语法总结
  • bash中通过变量中的内容获取对应的关联数组
  • Redis Geo操作地理位置
  • 市面上的AR眼镜:优缺点分析
  • 2024年湖南省职业院校技能竞赛高职组电子与信息专业类软件测试赛项竞赛规程及样题
  • 10、pytest通过assert进行断言
  • Webpack技术入门与实践
  • HarmonyOS开发(九):数据管理
  • acwing-Linux学习笔记
  • Python渗透测试——一、数据包的编辑工具——Scapy
  • 使用webstrom编写vue开启提示
  • linux远程桌面管理工具(xrdp)、向日葵
  • 【力扣100】8.找到字符串中所有字母异位词
  • 圆通速递查询,圆通速递单号查询,用表格导出查询好的物流信息
  • FLStudio中文2024中文最新汉化安装包下载
  • AI:大语言模型训练方法 - 机器学习
  • Linux(17):认识与分析登录档
  • STM32上模拟CH340芯片的功能 (一)
  • 图论——最小生成树
  • C++基础 -42- STL库之list链表
  • Backend - Python 序列化
  • 初级数据结构(一)——顺序表
  • 实现:切换页面切换标题,扩展 vue-router 的类型