class ArrDemo4
{
public static void main(String[] args)
{
tobin(0);
toba(60);
tohex(-6);
}
//十进制转二进制
/*public static void tobin(int x)
{
StringBuffer sb=new StringBuffer();
while(x!=0)
{
sb.append(x%2);
x=x/2;
}
System.out.println(sb.reverse());
}
*/
//下面转十六进制
/*public static void tohex(int x)
{
StringBuffer sb=new StringBuffer();
while(x!=0)
{
int t=x&15;
if(t>9) sb.append((char)(t-10+'A'));
else sb.append(t);
x=x>>>4;
}
System.out.println(sb.reverse());
}*/
//这个可以算负数,上面的转二进制的算法不能算负数;
//转二进制可以算负数的算法
/*public static void tobin(int x)
{
StringBuffer sb=new StringBuffer();
while(x!=0)
{
int t=x&1;
sb.append(t);
x=x>>>1;
}
System.out.println(sb.reverse());
}*/
//所有功能合并
public static void tobin(int num)//转二进制
{
arrzh(num,1,1);
}
public static void toba(int num)//转八进制
{
arrzh(num,3,7);
}
public static void tohex(int num)//转十六进制
{
arrzh(num,4,15);
}
public static void arrzh(int num,int z,int base)
{
StringBuffer sb=new StringBuffer();
if(num==0) System.out.println(0);
else
{
while(num!=0)
{
int t=num&base;
if(t>9) sb.append((char)(t-10+'A'));
else sb.append(t);
num=num>>>z;
}
System.out.println(sb.reverse());
}
// int a[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//也可以用数组来存储数据
}
}
进制转换(数据存储)
最新推荐文章于 2024-04-07 23:26:23 发布