黑马程序员技术交流社区

标题: java初学者学习笔记9——进制转换 [打印本页]

作者: 郑泽霖    时间: 2014-11-18 13:49
标题: java初学者学习笔记9——进制转换
java二进制转十六进制
1无符号右移转进制
代码1:
char[] chs=new char[8];
//chs是引用变量,引用变量指向一个数组对象
int index=chs.length-1;
//length是数组内置属性,得到数组元素个数
//length-1是最后一个元素

//for(int x=0;num!=0&&x<8;x++)
// 4位操作一次,一个整数32位共8次
while(num!=0)
//去掉0000的情况
{
int n=num&15;
//15=...0000 1111,和num进行与操作获取最低四位数
//获取的最低四位数将化为十进制int类型的n1
if(n>9)
chs[index]= ((char)(n-10+’A’));
else
chs[index]=((char)(temp+’0’));
//将数字转化为字符
    index--;
num=num>>>4;
//对num无符号右移4位
}
代码2:
public static String toHex(int num)
{
char[] chs={‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’A’,’B’,’C’,’D’,’E’,’F’};
char[] arr=new char[8];
int index=arr.length;
//存放结果的数组
while(num!=0)
{
int temp=num&15;
//15=1111
arr[--index]=chs[temp];
//得出的整数temp查表得到最终的字符串
num=num>>>4;
}
}
......
2九九乘法表
for(int x=1;x<=9;x++)
{
for(int y=1;y<=x;y++)
{
System.out.print(y+”*”+x+”=”+y*x+”\t”);
//\t制表符
System.out.println();
}

作者: 郑泽霖    时间: 2014-11-18 13:51
java其他进制转换
public static String toHex(int num)
{
char[] chs={‘0’,’1’ };
char[] arr=new char[8];
int index=arr.length;
//存放结果的数组
while(num!=0)
{
int temp=num&1;
arr[--index]=chs[temp];
//得出的整数temp查表得到最终的字符串
//最后的二进制数是个字符串
num=num>>>1;
}
}
......
Integer.toBinaryString
Integer.toOctalString         转八进制
Integer.toHexString              转十六进制

作者: 黑马学前班    时间: 2014-11-18 21:42
额 没看懂是啥




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2