1 import java.util.Arrays; 2 //把十进制转换为二进制的位 3 public class ToBinBit 4 { 5 public static void main(String[] args) 6 { 7 //1.假设现在有一个int为20,需要转换为二进制输出 8 int number = 20; 9 //2.需要一个长度为32的int数组来存储结果二进制 10 int[] bit = new int[32]; 11 //3.循环,把原始数除以2取得余数,这个余数就是二进制数,原始的数等于商。 12 //商如果不能再除以二,结束循环。 13 14 for(int i = 0; number > 1; i++) 15 { 16 //取得除以2的余数 17 int b = number % 2; 18 //数字赋值为除以2的商 19 number = number / 2; 20 21 bit[i] = b; 22 23 if( number < 2 ) 24 { 25 //已经不能再把数除以2,就把上直接放到数组的下一位 26 bit[i + 1] = number; 27 } 28 } 29 30 //4.翻转数组 31 for(int i = 0; i < bit.length / 2;i++) 32 { 33 int temp = bit[i]; 34 //第一个数的值设置为最后一个数的值 35 //第二次的时候,i是1,把第二个数的值,赋值为倒数第二个 36 bit[i] = bit[ bit.length - 1 - i ]; 37 bit[ bit.length - 1 - i ] = temp; 38 } 39 40 System.out.println( Arrays.toString(bit) ); 41 42 } 43 }