黑马程序员技术交流社区
标题:
求提示:使用查表法将十进制转为八进制
[打印本页]
作者:
Jackie7
时间:
2016-11-14 12:03
标题:
求提示:使用查表法将十进制转为八进制
大家好:
我这里有个问题,是java基础中的数组那一篇,就是利用数组的查表法,将十进制转为八进制,因为int类型有32位,而八进制是3位一组,这样我在 &7的时候,最后一组只有2位,这该怎么办? 给个提示就好。
未免我描述的不清楚,我将附上我写的利用查表法将十进制转十六进制的代码,如下请查看:
public static void toHex_2(int num){
StringBuffer sb = new StringBuffer();
char[] a = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
for(int x = 0;x<8;x++){
int temp = num & 15;
char b=a[temp];//对应的数组的值
sb.append(b);
num = num >>> 4;
}
System.out.println(sb.reverse());
}
作者:
SuperLan
时间:
2016-11-14 12:07
坐等大神解题
作者:
Jackie7
时间:
2016-11-14 13:32
噢!我想了下,貌似可以用while,就不用for了,while(num != 0)的时候,那么会继续做运算,&7,然后作为角标查数组的值,然后存入StringBuffer中,然后输出。
作者:
黑马嗨嗨嗨
时间:
2016-11-23 21:29
int类型是32位没错
&7也是 与3个二进制位,
然后32与3个二进制位,最后剩2个二进制位---
但!!! >>>4是右移四位啊,前面补0的啊,不是32与3 一直与到最后剩2个二进制位啊
作者:
aaaadj
时间:
2016-11-27 21:42
没懂你的 意思 转八进制?ABCDEF???16进制还是八进制 话说 求积倒取余不行吗 倒取之后查表得到1-8
作者:
张海东
时间:
2016-12-26 22:32
不是会在最左边自动加个0吗
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2