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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一般面试题,出题人都是考我们开发用不到,要揣摩他的心思,位运算是奇葩点啊!下面就是两道,出题率高达90%以上:



第一题:请用最有效率的代码写出2乘以8
          分析:咋一看,2乘以8,这么简单乘法运算,直接来个2*8,那你就错了,计算机运算都是二进制的,针对二进制的运算,肯定比你先将他们转换成二进制,再进行运算,不用为说,你肯定也知道哪个快了:
        所以,        2<<3

   
第二题:请交换两个变量,有几种方法,请写出。
                in x = 46;
                int y = 80;
1,定义第三方(临时)变量:(这种主要是在我们以后做开发常用)
   

  1.          int temp = x;
  2.          x = y;
  3.         y = temp
复制代码

2,位异或运算符(面试用)
   

  1.           x = x^y;
  2.           y = x^y;   //x^y^y = x
  3.           x= x^y ; //x^y^x = y
复制代码

小结论:前提(两个变量)左边x   y  x  右边:x^y

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

148 个回复

正序浏览
不错,学习了。
回复 使用道具 举报
南方小道士 发表于 2015-5-14 23:17
简单,但是实用面试题

谢谢,希望能帮助到
回复 使用道具 举报
简单,但是实用面试题
回复 使用道具 举报
赵旗 发表于 2015-5-13 21:59
学习了 长知识了

同样同样,一起学习
回复 使用道具 举报
lingdu 发表于 2015-5-14 01:05
恩,小知识点,学习了

大神求抱大腿
回复 使用道具 举报
赞一个@..==..@
回复 使用道具 举报
想要那片海 发表于 2015-5-14 08:19
准备面试,开启题海模式,谢楼主

加油,估计快一期了
回复 使用道具 举报

同样同样,一起学习
回复 使用道具 举报
赵旗 发表于 2015-5-13 21:59
学习了 长知识了

同样同样
回复 使用道具 举报
不错,学习了
回复 使用道具 举报
准备面试,开启题海模式,谢楼主
回复 使用道具 举报
恩,小知识点,学习了
回复 使用道具 举报
学习了........
回复 使用道具 举报
.........................................
回复 使用道具 举报
感觉有点简单啊
回复 使用道具 举报
小题目要认真做就行了
回复 使用道具 举报
好好学习,不容忽视
回复 使用道具 举报
谢谢分享,学习了
回复 使用道具 举报
学习了 长知识了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马