移位运算符“丢弃超过 5 位的任何位”是什么意思?

What does it mean that shift operators “drop any bits beyond the 5th”?

摘自《JavaScript:权威指南》一书:

The bitwise operators expect integer operands and behave as if those values were represented as 32-bit integers rather than 64-bit floating-point values. These operators convert their operands to numbers, if necessary, and then coerce the numeric values to 32-bit integers by dropping any fractional part and any bits beyond the 32nd. The shift operators require a right-side operand between 0 and 31. After converting this operand to an unsigned 32-bit integer, they drop any bits beyond the 5th, which yields a number in the appropriate range. Surprisingly, NaN, Infinity, and -Infinity all convert to 0 when used as operands of these bitwise operators.

我无法理解“将此操作数转换为无符号的 32 位整数后,他们丢弃第 5 位以外的任何位,从而产生适当范围内的数字。”.

第五个数字有什么意义吗?我正在寻找合适的例子。

The shift operators require a right-side operand between 0 and 31.

意味着 right-side 操作数将在二进制形式的 0b00000 和 0b11111 之间,所以 5 位。