//十进制转化为十六进制
右移有两种:
右移运算符> > (有符号)
用来将一个数的各二进制位全部右移若干位.例如:a = a> > 2,使a的各二进制位右移两位,移到右端的低位被舍弃,最高位则移入原来高位的值.
如:a = 00110111,则a> > 2=00001101,b=11010011,则b> > 2 = 11110100
右移一位相当于除2 取商,而且用右移实现除法比除法运算速度要快
无符号右移运算符> > >
用来将一个数的各二进制位无符号右移若干位,与运算符> > 相同,移出的低位被舍弃,但不同的是最高位补0,如a = 00110111,则a> > > 2 = 00001101,b=11010011,则b> > > 2 = 00110100
class Example1_3
public static void main(String[] args)
{
ToHex(60);
}
public static void ToHex(int num)
{
StringBuffer s=new StringBuffer();
for(int i=0;i<8;i++)
{
int temp=num&15;
if(temp>9)
// System.out.println();
s.append((char)(temp-10+'A'));
else
//System.out.println(temp);
s.append(temp);
num=num>>>4;
}
System.out.print(s.reverse());
}
}
//数组的操作
//进制的转换
//查找法
思想:将所有非元素临时存储起来,建立对应的关系
每一次num&15后的值作为索引去查建立好的表
class Example1_4
{ public static void main(String[] args)
{
ToHex(60);
}
public static void ToHex(int num)
{
char chs[]={'0','1','2','3',
'4','5','6','7',
'8','9','A','B',
'C','D','E','F'};
for (int i=0;i<8 ;i++ )
{
int temp=num&15;
System.out.println(chs[temp]);
num=num>>>4;
}
}
}