分享:可以转换任意进制的程序代码
来源:互联网 发布:小猪cms收银系统源码 编辑:程序博客网 时间:2024/06/05 15:24
// 第一次修改别人的程序代码,将原来的只能做固定进制(2.8.16)的转换修改为可以进行任意进制(不大于36进制,仅限于26个英文字母)的代码程序
/** 原程序
* @(#)liebiao.java
*
* liebiao application
*
* @author
* @version 1.00 2009/3/12
*/
public class liebiao {
static String p2;
static String p8;
static String p16;
// 以下函数是将十进制num 转换成 base 进制的函数。
static String zhuan(int num, int base) {
int i = 0;
String[] a = new String[20];
String answer = "";
do {
int yushu;
yushu = num % base;
num = num / base;
if (base != 16)
a[i] = Integer.toString(yushu); // 将yushu值转化为字符串类型
if (base == 16) {
if (yushu >= 10)
switch (yushu) {
case 10:
a[i] = "A";
break;
case 11:
a[i] = "B";
break;
case 12:
a[i] = "C";
break;
case 13:
a[i] = "D";
break;
case 14:
a[i] = "E";
break;
case 15:
a[i] = "F";
break;
} // 结束switch语句
if (yushu < 10)
a[i] = Integer.toString(yushu);
i++;
}
} while (num > 0);// 结束while循环。
for (; i != 0; i--) {
answer = answer + a[i - 1];
}
return answer;
}
public static void main(String[] args) {
int m = 0;
System.out
.println("m" + "/t/t" + "p2" + "/t/t" + "p8" + "/t/t" + "p16");
for (m = 0; m <= 255; m++) {
p2 = zhuan(m, 2);
p8 = zhuan(m, 8);
p16 = zhuan(m, 16);
System.out.println(m + "/t/t" + p2 + "/t/t" + p8 + "/t/t" + p16);
}
}
}
// 如下是修改后的程序。
/**
* @(#)liebiao.java
*
* liebiao application
*
* @author
* @version 1.00 2009/3/12
*/
public class liebiao {
static String p2;
static String p8;
static String p16;
// 以下函数是将十进制num 转换成 base多进制(不大于36的任意进制)的函数。
static String zhuan(int num, int base) {
int i = 0;
String[] a = new String[20];
String answer = "";
String bz = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
do {
int yushu;
yushu = num % base;
num = num / base;
a[i] = bz.substring(yushu, yushu + 1);
i++;
} while (num > 0);
for (; i != 0; i--) {
answer = answer + a[i - 1];
}
return answer;
}
public static void main(String[] args) {
int m = 0;
// 程序经修改后,可以转换多进制(不大于36的任意进制)的数了,例如:
int base1=12;
int base2=16;
int base3=36;
System.out
.println("m" + "/t/t" + "p"+Integer.toString(base1) + "/t/t" + "p" +Integer.toString(base2)+ "/t/t" + "p"+Integer.toString(base3));
for (m = 0; m <= 255; m++) {
p2 = zhuan(m, base1);
p8 = zhuan(m, base2);
p16 = zhuan(m, base3);
System.out.println(m + "/t/t" + p2 + "/t/t" + p8 + "/t/t" + p16);
}
}
}
- 分享:可以转换任意进制的程序代码
- 关于进制转换的一些函数(可以任意进制转换为任意进制)
- 任意的进制转换
- 任意的进制转换
- 任意进制的转换
- 任意进制的转换
- 任意的进制转换
- 二进制与任意字符转换程序代码
- COM组件:完成任意进制到任意进制的转换
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换!!!
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 生成静态网页
- java 添加JMenu例子
- VBS脚本
- Computer Brower服务自动关闭,Windows 防火墙无法运行原因及解决
- geoserver样式学习,点数据的渲染(一)
- 分享:可以转换任意进制的程序代码
- 职业发展之学历限制
- 在BF561上实现h264编码的几种方案
- SQL中DATEADD和DATEDIFF的用法
- 批量修改系统中int,varchar字段的默认值
- 关于使用SAP的BSP在后台导出excel(xml格式),并在web上弹出的方法
- 如何评估ad hoc测试
- 空中网:3G业务开发引燃移动时代创新
- Winform 界面的动态翻译