package com.shuzu;
public class shuzuJinZhiZhuanHuan {
* @param a 所要转换的十进制数,b 不同进制所要与(&)的数不同,wei 向右移动几位
* 查表法
* 十进制转二进制
* 十进制转十六进制
* 定义数组字符表
* 定义数组容器arr,长度为32位(二进制) or 8位(十六进制)
* 定义指针pos
* 循环传入参数(int a),判断a的值如果不等于0继续循环
*
* 60---0000 0000 0000 0000 0000 0000 0011 1100
* &15 0000 0000 0000 0000 0000 0000 0000 1111
* ----------------------------------------------
* 0000 0000 0000 0000 0000 0000 0000 1100 = 12 'C'
public static void main(String[] args) {
// TODO Auto-generated method stub
trans(60,15,4);
}
public static void trans(int a,int b,int wei){
char[] temp = { '0','1','2','3',
'4','5','6','7',
'8','9','A','B',
'C','D','E','F' }; //字符表
char[] arr = new char[32]; //定义容器,用来存储转换后的字符数组
int su = 0; //定义临时变量,用于存储与&之后的结果
int pos = arr.length; //定义指针下标,从数组的最后一位开始,用于从后往前存,将结果反转
while(a!=0){ //循环移位之后的十进制数
su = a & b; //将与&的结果存入临时变量su中
arr[--pos] = temp[su]; //temp[su],将字符表中下标位su的字符存入arr中,--pos,从数组的最后一位开始存,每次减一向前移动一位
a = a >>> wei; //将十进制数想右移动4位(十六进制) or 1位(二进制),一遍得到下一个四位的值
public class shuzuJinZhiZhuanHuan {
* @param a 所要转换的十进制数,b 不同进制所要与(&)的数不同,wei 向右移动几位
* 查表法
* 十进制转二进制
* 十进制转十六进制
* 定义数组字符表
* 定义数组容器arr,长度为32位(二进制) or 8位(十六进制)
* 定义指针pos
* 循环传入参数(int a),判断a的值如果不等于0继续循环
*
* 60---0000 0000 0000 0000 0000 0000 0011 1100
* &15 0000 0000 0000 0000 0000 0000 0000 1111
* ----------------------------------------------
* 0000 0000 0000 0000 0000 0000 0000 1100 = 12 'C'
public static void main(String[] args) {
// TODO Auto-generated method stub
trans(60,15,4);
}
public static void trans(int a,int b,int wei){
char[] temp = { '0','1','2','3',
'4','5','6','7',
'8','9','A','B',
'C','D','E','F' }; //字符表
char[] arr = new char[32]; //定义容器,用来存储转换后的字符数组
int su = 0; //定义临时变量,用于存储与&之后的结果
int pos = arr.length; //定义指针下标,从数组的最后一位开始,用于从后往前存,将结果反转
while(a!=0){ //循环移位之后的十进制数
su = a & b; //将与&的结果存入临时变量su中
arr[--pos] = temp[su]; //temp[su],将字符表中下标位su的字符存入arr中,--pos,从数组的最后一位开始存,每次减一向前移动一位
a = a >>> wei; //将十进制数想右移动4位(十六进制) or 1位(二进制),一遍得到下一个四位的值