javascript中向左的位运算 1 << 31 为什么结果是33位?为什么是-2147483648而不是0?
2条回答 默认 最新
日霄科技 2023-06-14 17:27关注1的二进制表示为00000000000000000000000000000001,
将其向左移动31位,空位用0填充,得到的结果为10000000000000000000000000000000。
这个结果是一个32位的二进制数,从左到右第一位为符号位,表示正负性。在JavaScript中,符号为1表示负数,所以这个32位二进制数表示的是-2147483648,而不是0。本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用