public class Jinzhi {
//进制转换函数,M进制转换为N进制,初始串为str,不考虑初始串的非法输入,输入都为正整数
public static String MCovertToN(int M,int N,String str){
int currentnum=0;//当前位
int mod=0;//余数
String shang=str;//商串
String result="";//存放转换后的结果串
String temp_shang="";//存放中间商串
while(shang.length()>0){
temp_shang="";
mod=0;
for(int i=0;i<shang.length();i++){//该循环即从字符串的最高位开始做除法,具体参照整数除法的过程
currentnum=charToInt(shang.charAt(i));
if(currentnum==-1)return "Error,invilade";
mod=mod*M+currentnum;
temp_shang+=intToChar(mod/N);//存每一位上的商
mod=mod%N;
}
result=intToChar(mod)+result;//将余数放入结果;
int i=0;
shang=temp_shang;
for(;i<shang.length();i++){//去掉商前面的0
if(shang.charAt(i)!='0')break;
进制转换(长正整数)
最新推荐文章于 2024-10-02 12:00:00 发布
这是一个Java程序,实现了将任意进制的长正整数转换为另一种进制的功能。通过逐位除法的方式,从最高位开始进行转换,确保了正确性和效率。同时,提供了intToChar和charToInt辅助方法,用于字符和整数之间的转换。
摘要由CSDN通过智能技术生成