黑马程序员技术交流社区
标题: 十进制转换为二进制 [打印本页]
作者: 尹兆国 时间: 2014-6-13 01:47
标题: 十进制转换为二进制
本帖最后由 尹兆国 于 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]?)
作者: 会说话的木头 时间: 2014-6-13 02:21
哥们哪一天的视频例题?10&1 =0 ,这个题不错 ,我也说不太明白
作者: 尹兆国 时间: 2014-6-14 00:29
毕老师的视频 day04 ArrayTest6.java
作者: 尹兆国 时间: 2014-6-14 00:31
10的二进制是1010,1的二进制是1,前面补3个0,即0001。所以1010&0001=0,你是对的,谢谢啊
作者: 会说话的木头 时间: 2014-6-14 00:35
:handshake:handshake:handshake
作者: ╭月牙湾湾╮ 时间: 2014-6-14 00:42
学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |