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-4-28 22:13:22
藤椅
顶一个,谢
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
海带 发表于 2015-4-28 22:08
必须顶起太容易忽视了

是啊,希望以后大家都把自己看到的面试题,发上来,分享
回复 使用道具 举报
感谢分享~
回复 使用道具 举报
苟苟 中级黑马 2015-4-29 07:34:28
7#
给个赞吧。。。。
回复 使用道具 举报
yearn 中级黑马 2015-4-29 09:29:07
8#
好贴!!!!!
回复 使用道具 举报
赞一个!
回复 使用道具 举报
真是考一些边边角角的  
回复 使用道具 举报
容易背遗忘的小知识点
回复 使用道具 举报
哎呀,这两道题我都会啊,会不会被你这么一开贴老师不问了啊。。。还有其他的不?是问你思想啊还是要你写出来?大大求解
回复 使用道具 举报
考不上黑马 发表于 2015-4-29 10:15
哎呀,这两道题我都会啊,会不会被你这么一开贴老师不问了啊。。。还有其他的不?是问你思想啊还是要你写出 ...

出题的人,也苦恼,变着法为难啊
回复 使用道具 举报
支持楼主
回复 使用道具 举报
x=x+y;
y=x-y;
x=x-y;
楼主的int x=46 写错了貌似
回复 使用道具 举报 2 0
长知识了
回复 使用道具 举报
海带 发表于 2015-4-28 22:08
必须顶起太容易忽视了

就是就是
回复 使用道具 举报
这些应该算简单的吧
回复 使用道具 举报
很简单!!!!!!!!!!!!!!!!!!
回复 使用道具 举报
silencer 发表于 2015-4-29 10:09
容易背遗忘的小知识点

是的,我们要小心就好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马