【小朽开源路-①初出茅庐】十进制转(2到16)进制原理及安卓实现
前言
我的开源路声明:[传送门]
为了实现自己的目标,不幸自己就选择在博客园上练习自己英语。希望英语多,中文少,然后渐渐地成为习惯。加油!
Subject
实现十进制转(2到16)进制原理及安卓
The Principle (原理)
①the Stack ADT (栈知识)
小朽是活学活用,栈知识复习[传送门]
②the Short division (短除法)
Start...
the jar struckture
ALStack.java
package sedion.jeffli.action; import java.util.ArrayList;import java.util.Stack; /** * My Open-Source road * @author Jeff Li * * @param <T> */ public class ALStack<T> extends Stack<T> { /** * */ private static final long serialVersionUID = -1261738006146239371L; private ArrayList<T> stackList = null; //create an empty stack by creating an empty ArrayList public ALStack(){ stackList = new ArrayList<T>(); } }
BaseStr.java
package sedion.jeffli.action; import java.util.Scanner; public class BaseStr { public static void main(String[] args) { int num , b; Scanner keyIn = new Scanner(System.in); System.out.print("Enter a decimal number: "); num = keyIn.nextInt(); System.out.print("Enter a base (2 to 16): "); b = keyIn.nextInt(); System.out.print(" "+num+" base "+b+" is "+baseString(num, b)); } //the short division principle public static String baseString(int num,int b){ //digitChar.charAt(digit) is the character that represents the digit , 0 <= digit <= 15 String digitChar = "0123456789ABCDEF",numStr = ""; //stack holds the base-b digits of num ALStack<Character> stk = new ALStack<Character>(); do{ //push right-most digit on the stack stk.push(digitChar.charAt(num % b)); //remove right-most digit form num num /= b; }while(num != 0); while(!stk.isEmpty()){ //pop stack and add digit on top of stack to numStr numStr += stk.pop().charValue(); } return numStr; } }
*核心
短除法原理,短除就是在除法中写除数的地方写两个数共有的质因数,然后落下两个数被公有质因数整除的商,之后再除,以此类推,直到结果互质为止
实现demo,its a bit easy ,right?
//push right-most digit on the stack stk.push(digitChar.charAt(num % b)); //remove right-most digit form num num /= b;
Andriod Practice
源码下载:链接:http://pan.baidu.com/share/link?shareid=1403222381&uk=3307409781 密码:ub64
应用下载:链接:http://pan.baidu.com/share/link?shareid=1403222381&uk=3307409781 密码:ub64
勿喷,效果图
寄读者,寄知识来源
读者,你好!你我不相识,谢谢你们支持。我的梦想会越来越接近。keep on,共勉!
知识来源 http://www.cnblogs.com/shitianzeng/articles/2336765.html
知识来源于想着,我走路想着玩一个。就玩好了,星期六快乐。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架