关于使用查表法实现十进制到二进制,八进制,十六进制的转换

一,使用查表法实现进制之间的转换,能够使用函数实现,代码简洁,效率高。

public static void trans(int num, intbase,int offset) {

// 定义数据表

char[]chs = {'0', '1', '2','3', '4','5', '6', '7','8', '9','A',

'B', 'C', 'D', 'E' };

// 定义存储数组

char[] arr = new char[32];

// 定义标志位

int pos = arr.length;

// 转换

while (num != 0) {

//获取后几位

int temp = num & base;

//存储

arr[--pos] =chs[temp];

//移位

num = num >>> offset;

}

// 打印输出

for (inti =pos; i < arr.length;i++) {

System.out.print(arr[i]);

}

System.out.println();


}

这是一个定义好的转换函数,只需要不同转换传入不同的参数即可。


二,主函数调用

public static void main(String[]args) {

// TODO Auto-generated method stub

// 十进制转二进制,base为1,offset为1

trans(60, 1, 1);

// 十进制转八进制,base为7,offset为3

trans(60, 7, 3);

// 十进制转十六进制,base为15,offset为4

trans(60, 15, 4);


}

例如:将60分别转换为二进制,八进制和十六进制,只需要改变base和offset相应的值即可。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值