In operator precedence hierarchies (C/C++/Java), relational operators (<, >, <=, >=) have precedence immediately adjacent to shift operators (<<, >>), with relational operators having slightly higher precedence. The answer is D because relational operators and shift operators are close in precedence level. Option A is incorrect because bitwise operators (including shift) don't all have the same precedence. Option B is incorrect because type casting has higher precedence than relational operators. Option C is incorrect because relational operators have higher precedence than shift operators.