当前位置: 代码迷 >> J2SE >> java 将Int值转成 二进制数组,该如何处理
  详细解决方案

java 将Int值转成 二进制数组,该如何处理

热度:34   发布时间:2016-04-23 20:36:20.0
java 将Int值转成 二进制数组
怎样将Int 数值转换成二进制数值后填入数组,比如说 将  23  转换成 {1,2,4,16}
------解决方案--------------------

    int a=23;
    int result[31]={0};
    int test=1;
    int pos=0;

    for(int i=0;i<=30;i++)
    {
        if((a&test)!=0)
        {
            result[pos]=test;
            pos++;
        }
        test=test<<1;
    }

------解决方案--------------------
	public static void main(String[] args) {
int number = 1025;
int degree = 0;//二进制中值为1的个数
for(int i=0;i<32;i++){
if(((1<<i)&number)!=0){
degree++;
}
}
int[] array = new int[degree];
int index = 0;
for(int i=0;i<32;i++){
if(((1<<i)&number)!=0){
array[index++]=(1<<i);
}
}
System.out.println(degree);
System.out.println(Arrays.toString(array));
}
  相关解决方案