位操作符-数字如何转化为二进制并进行操作

ECMAScript语言中的位操作符,所有的数值都是以IEEE-754 64位格式存储,但是位操作符不直接存储64位的储存格式,得把数值64转化为32位的整数,执行操作,执行后再将结果转化为64位。

32位中的前31位用于表示整数的值,第32位用于表示数值的符号(0表示整数,1表示负数


例如:18的二进制怎么转换?

  1. 18/2 (整除 右边第一位为0)
  2. 9/2 (4余1 右边第二位为1)
  3. 4/2 (整除 右边第三位为0)
  4. 2/2 (整除 右边第四位位0)
  5. 1/2 (有余 右边第五为为1)

二进制码为 10010
32位补全之后为000000000000000000000000000**10010**

那么如果是二进制码如何转化为数字?
例如:10010
2^4*1 + 2^3* 0 + 2^2 * 0 + 2^1*1 + 2^0* 0
16+0+0+2+0=18


位操作符-数字如何转化为二进制并进行操作