本帖最后由 尹兆国 于 2014-6-15 14:59 编辑
- public static void toBin(int num)
- {
- //定义二进制的表。
- char[] chs = {'0','1'};
- //定义一个临时存储容器。
- char[] arr = new char[32];
- //定义一个操作数组的指针
- int pos = arr.length;
- while(num!=0)
- {
- int temp = num & 1;
- arr[--pos] = chs[temp];
- num = num >>> 1;
- }
- for(int x=pos; x<arr.length; x++)
- {
- System.out.print(arr[x]);
- }
- }
复制代码 int temp = num & 1;//通过&1,得到一个值为0或1的temp,然后获得表中的元素,但我不明白的是,为什么是&1,而不是&别的数 比如假设num=10 temp=10&1=10 arr[--pos] = chs[temp](arr[--pos] = chs[10]?)
|