我听说这是一个在面试中提出的问题,给出两个字节,如果它们是对称的,则返回true
public boolean isSym(Byte firstByte, Byte secondByte);
01101000和00010110是对称的, 但是01100000和11000000都没有。 需要用Java编写代码。 任何想法最好的方法是什么?
答案 0 :(得分:2)
public boolean isSym(Byte firstByte, Byte secondByte)
{
for (int i = 0; i< 8 ; i++){
if (bitAt(firstByte, i) != bitAt(secondByte, 7 - i))
return false;
}
return true;
}
public byte bitAt(byte num, int position)
{
return (byte)((num >> position) & (byte)1);
}