質問よろしくお願いします。

uint 型の二つの値 x, y について、

x = 0b_0101, y = 0b_0110

のように最上位の 1 のビットの位置が同じなら true を返し、

x = 0b_0101, y = 0b_0011

のように最上位の 1 のビットの位置が違うなら false を返す関数を
作るというクイズをやっていて、

static bool BitsEquals(uint x, uint y) => (x ^ y) < (x & y);

という答えを考えました。
しかし、どうやらもっと演算の回数が少なくてすむ方法があるらしく、
それがどうしても分かりません。

どなたか良いアイディアをお持ちの方がいらっしゃれば教えていただけないでしょうか。
どうぞよろしくお願いいたします。