当前位置: 代码迷 >> Java相关 >> 学JAVA,看到一个标题是这样的二进制相关
  详细解决方案

学JAVA,看到一个标题是这样的二进制相关

热度:48   发布时间:2016-04-22 21:10:14.0
学JAVA,看到一个题目是这样的二进制相关
不要用Integer.toBinaryString()方法,而是用三元操作符和按位操作符来显示二进制的1和0。求各路大神顶力支持
------解决方案--------------------

class Test {
static final int INT_HIGH_BIT=1<<31;
public static void main(String[] args) {
int x=24423;
System.out.println(getBinaryString(x));
System.out.println(Integer.toBinaryString(x));
System.out.println(getBinaryString(0));
System.out.println(Integer.toBinaryString(0));
}
public static String getBinaryString(int x) {
StringBuffer buffer=new StringBuffer();
boolean start=false;
int y, z;
for (int i=0; i<32; i++) {
y=x<<i;
z=y&INT_HIGH_BIT;
start=start?start:i==31?true:z==INT_HIGH_BIT;
buffer.append(start?z==INT_HIGH_BIT?"1":"0":"");
}
return buffer.toString();
}
}
  相关解决方案