/*索引表实现十进制到16进制转换,正负数均可*/
class DecToHex_Table
{
public static void toBin(int num)
{
int step=1;
char []tab={'0','1'};
char []rec=new char[32];
int pos=rec.length;
while(num!=0)
{
rec[--pos]=tab[num&1];
num>>>=step;
}
for(int j=0;j<rec.length;j++)//i同时起到非零位的下标作用
{
//?if(rec[j]!=' ')
System.out.print(rec[j]);
}
System.out.println();
}
public static void toHex(int num)
{
//int num=39;
int step=4;
char []tab={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char []rec=new char[8];
int i=0;
while(num!=0)
{
rec[i]=tab[num&15];
num>>>=step;
i++;//∵num是int型的,在i>8之后,可以保证num=0,使循环停止
}
/*for(int j=rec.length-1;j>=0;j--)
{
//方式一
if(rec[j]!=(char)0)//注意:虽然char[]的初始化是null,但直接在这里写nul会报类型不同错误,而用(char)0即可使用
System.out.print(rec[j]);
}*/
//方式2
for(int j=i-1;j>=0;j--)//i同时起到非零位的下标作用
{
System.out.print(rec[j]);
}
System.out.println();
}
public static void main(String []args)
{
toHex(39);
toBin(-6);
//char []a=new char[1];
//System.out.println((int)' ');//space 32
}
}Java day03 进制转换(2)索引表 数组实现
最新推荐文章于 2021-08-29 16:22:20 发布
本文介绍了一种使用索引表的方法来实现整数从十进制到二进制及十六进制的转换。通过具体的Java代码示例展示了如何进行转换,并特别说明了该方法适用于正负数的转换。
7386

被折叠的 条评论
为什么被折叠?



