Integer类有个现成的方法:toBinaryString获取二进制的字符串。至于如何创建十进制16和八进制16到int,有个方法叫Integer.parseInt("16", 8)后一个参数指明多少进制(这里是八进制)。
解决方案 »
- JDK手册中的字段摘要,构造方法摘要,方法摘要是什么???
- SWT多个窗口怎么放到一个容器里面
- 高分求:怎么把字符串的内容作为另外一个类的引用 !各路高手来看看啦!!
- 如何取道array里的value
- 如何比较时间的大小,在一组记录中选出时间最新的数据?
- [求助]如何把当前时间保存到数据库
- 假如我要操作未知格式xml文件,该用哪种xml解析器?
- 两jframe间是如何实现互相发送消息的?
- java.io程序中的字符集问题,高手帮着看!
- 一个奇怪的APPLET刷新问题,各位帮忙看看
- JBUILDER生成可执行文件的问题,急!!
- 用java如何将日期存到SQLServer2000的Datetime型字段中?
Integer i1 = new Integer(16);
System.out.println(i1.toBinaryString(20));//10100
System.out.println(i1.toOctalString(20));//24
System.out.println(i1.toHexString(20));//14
这种写法好像不是很简洁噢,还有没有其他写法,请告之同理我用你的方法也试验了把上述值再转化为十进制的效果
System.out.println(Integer.parseInt("10100", 2));//20
System.out.println(Integer.parseInt("24", 8));//20
System.out.println(Integer.parseInt("14", 16));//20
均得出正确的结果,再次表示感谢除此之外,不知道还有没有其他的办法呢?
int i1 = 16;
int[] i2 = new int [32];
for (int i = 0; i <=31; i ++){
i2[31-i] = i1 & 1;
i1 >>= 1;
}
for (int i = 0; i <=31; i ++)
System.out.print(i2[i]);
二:
int i = 16;
for(int j = 31; j >= 0; j--)
if(((1 << j) & i) != 0)
System.out.print("1");
else
System.out.print("0");
push(s,i%2);
i=i/2;
}
while(!stackempty(s))
{
pop(s,e);
system.outprint(e);
}