A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 人造番茄 中级黑马   /  2015-7-12 10:25  /  662 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

14.设以下是应用程序中定义的方法printBinary,若在其main方法中有方法调用语句printBinary(2),则输出的结果是 (   )。
static void printBinary(int i) {
        System.out.print(i + "的2进制数表示为:\t");
        for(int j = 31; j >=0; j--)
            if(((1 << j) &  i) != 0)
                System.out.print("1");
            else
                System.out.print("0");
        System.out.println();
  }
A) 00000000000000000000000000000001
B) 00000000000000000000000000000010       
C) 00000000000000000000000000001111
D) 00000000000000000000000000000000

14 个回复

倒序浏览
B,虽然那个循环判断那么复杂,但是看到输入的参数是2,求2的二进制数也只有B符合了
回复 使用道具 举报
B了 2的31数字比较大,咱们可以看循环到最后两位j=1和j=0的情况,纸上写写答案就出来了
回复 使用道具 举报
左移右移还是求2- -!
回复 使用道具 举报
果断B啊                  
回复 使用道具 举报
就是求2的二进制啊
回复 使用道具 举报
Claw 中级黑马 2015-7-12 14:48:39
7#
楼上都说了。
这就是个混淆视听的干扰因素较多而已。
回复 使用道具 举报
Nemo 中级黑马 2015-7-12 15:19:41
8#
这题目我也是醉了
回复 使用道具 举报
昨天我选了A,坑了
回复 使用道具 举报
乔栋 发表于 2015-7-12 11:23
B了 2的31数字比较大,咱们可以看循环到最后两位j=1和j=0的情况,纸上写写答案就出来了 ...

解释一下瞬间懂了,注意力被转移了,哎
回复 使用道具 举报
其实都说了输出i的2进制,不说也不难啊
回复 使用道具 举报
想都不用想  2的2进制就是B
回复 使用道具 举报
zhand 中级黑马 2015-7-12 22:11:40
13#
果断看回复的飘过 哈哈
回复 使用道具 举报
看了回帖后秒懂 谢谢分享!
回复 使用道具 举报
有道理啊,2的2进制表示形式就是0000-0010啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马