右移
带符号的整型负值右移位的结果
将负值向右移位可生成绝对值的一半(向下舍入)。 例如,signed short
值 -253(十六进制数是 0xFF03,二进制数是 11111111 00000011)右移一位会生成 -127(十六进制数是 0xFF81,二进制数是 11111111 10000001)。 正 253 向右移位生成 +126。
右移保留带符号的整数类型的符号位。 当带符号的整数向右移位时,最高有效位将保留。 例如,如果 0xF0000000 是带符号的 int
,则右移位生成 0xF8000000。 将负数 int
右移位 32 次会生成 0xFFFFFFFF。
当无符号的整数右移位时,将清除最高有效位。 例如,如果 0xF000 是无符号的,则结果为 0x7800。 将 unsigned
或正数 int
右移位 32 次会生成 0x00000000。
请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈