检查两个字节是否对称

时间:2016-07-08 11:07:25

标签: java byte symmetric symmetry

我听说这是一个在面试中提出的问题,给出两个字节,如果它们是对称的,则返回true

public boolean isSym(Byte firstByte, Byte secondByte);

01101000和00010110是对称的, 但是01100000和11000000都没有。 需要用Java编写代码。 任何想法最好的方法是什么?

1 个答案:

答案 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);
}