Проверить, симметричны ли два байта
Я слышал, что это вопрос, заданный в интервью, учитывая два байта, вернуть 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);
}