移位运算符“将任何位降到第五位以外”是什么意思?

问题描述

摘自《 JavaScript:权威指南》:

按位运算符期望整数操作数,并且其行为就像这些值表示为32位整数而不是64位浮点值一样。 这些运算符在必要时将其操作数转换为数字,然后通过删除任何小数部分和任何超出32的位,将数字值强制为32位整数。 移位运算符需要在0到31之间的右侧操作数。 将这个操作数转换为无符号的32位整数后,它们会将所有位都舍弃到5位以外,从而产生一个适当范围内的数字。 令人惊讶的是,当用作这些按位运算符的操作数时,NaN,Infinity和-Infinity都转换为0。

我听不懂句子“将这个操作数转换为无符号的32位整数之后,它们将丢弃5位以外的任何位,从而得到一个在适当范围内的数字。” 。 / p>

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

解决方法

移位运算符需要一个介于0到31之间的右侧操作数。

右边的操作数的二进制形式在0b00000和0b11111之间,所以5位。