黑马程序员技术交流社区
标题:
十进制与十六进制转换的一个小问题
[打印本页]
作者:
孙新强
时间:
2012-6-13 10:30
标题:
十进制与十六进制转换的一个小问题
看毕老师的视频中讲到了十进制与十六进制间的转换,有点不太明白:
转换方法:
Public static void toHex(int num)
{
StringBuffer sb=new StringBuffer();
for(int x=0;x<8;x++)
{
int temp=num&15; //这个地方不太懂
if(temp>9)
sb.append((char)(temp-10+’A’));
else
sb.append(temp);
num>>>4;
}
System.out.println(sb.reverse());
}
上述程序表示不太懂得地方,为什么num和15相与啊 请大家指点一下 谢谢
作者:
付信榕
时间:
2012-6-13 10:38
Public static void toHex(int num)
{
StringBuffer sb=new StringBuffer();
for(int x=0;x<8;x++)
{
int temp=num&15; //这个地方不太懂 15的二进制是1111,意思是num的二进制表示形式与1111相与,取num二进制的后四位来进行操作
if(temp>9)
sb.append((char)(temp-10+’A’));
else
sb.append(temp);
num>>>4; // 这里就处理num的二进制表示形式的下一组四位二进制
}
System.out.println(sb.reverse());
}
作者:
孙新强
时间:
2012-6-13 10:45
谢谢啊 想明白了:handshake
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2