论坛首页 招聘求职论坛

两道笔试题,在找工作的可以看看

浏览 11561 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-20  
试试这个:
public static final char[] DIGITS = {'0', '1'};

public static String reverseInt(int n) {
char[] ches = new char[32];
for(int i = 0; i < 32; ++i) {
int bit = n & 1;
n >>>= 1;
ches[i] = DIGITS[bit];
}
return new String(ches);
}
0 请登录后投票
   发表时间:2011-04-20  
hh161151 写道
我想问一下楼主,这两题是在纸上考呢,还是上机考?

笔试题,一家不知名公司,好像是6张卷子
0 请登录后投票
   发表时间:2011-04-20  
先手后手是个问题吧。。  正在想。  

离开学校。。  脑子只会敲键盘了。
0 请登录后投票
   发表时间:2011-04-20  
kanny87929 写道
好题,这种题目只能给对职位相关的人做,其他人一时是不会去触碰的

数次看到这位同学精彩的发言,说的很到位啊。
0 请登录后投票
   发表时间:2011-04-20   最后修改:2011-04-20
如果可以引入变量,第一题其实很容易:
def reverseInt(i):
	print bin(i)
	j = 0
	while i + 1 >> 1 >= 1:
		j = (j << 1) + (i & 1)
		i = i >> 1
	print bin(j)


但是,请注意看lz的方法,如果说题目没有理解错的话,是在不引入临时变量的情况下,把原数据的高低位倒置。这个是比较考人的。
0 请登录后投票
   发表时间:2011-04-20  
NO1:
int a = 12;
a & 0x00000001<<8|(a&0x00000010<<7|(。。。。。))
循环下去把
0 请登录后投票
   发表时间:2011-04-20  
原来不是靠反码,第一题几年前面华为笔试考过,做协议栈的,考位操作也合理
java考这过分了
0 请登录后投票
   发表时间:2011-04-20  
public class testbyte {
public static void main(String[] args) {
int a = 123;
//int[] temp = new int[8];
int a0 = (a >> 7) & 0x01;
int a1 = (a >> 5) & 0x02;
int a2 = (a >> 3) & 0x04;
int a3 = (a >> 1) & 0x08;

int a4 = (a << 1) & 0x10;
int a5 = (a << 3) & 0x20;
int a6 = (a << 5) & 0x40;
int a7 = (a << 7) & 0x80;

int out = a0|a1|a2|a3|a4|a5|a6|a7;
System.out.println(out);
}
}
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics