Проверить, симметричны ли два байта

Я слышал, что это вопрос, заданный в интервью, учитывая два байта, вернуть true, если они симметричны

public boolean isSym(Byte firstByte, Byte secondByte);

01101000 и 00010110 симметричны, а 01100000 и 11000000 - нет. Нужно написать код на Java. Есть идеи, как лучше всего это сделать?

1 ответ

Решение
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);
}
Другие вопросы по тегам