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 }