/* * Javascript int 型 32位,默认为有符号整数,且第32位,即符号位开发者不可访问 * * 在 原理中: 数的表示 正数的不变。负数:反码为原码除符号位取反,补码为反码+1 * 4位: 8位: * 真值:6(+110) -6(-110) 6(+110) -6(-110) * * 原码: 0110 1110 0000 0110 1000 0110 * * 反码: 0110 1001 0000 0110 1111 1001 * * 补码: 0110 1010 0000 0110 1111 1010 */ //Javascript 运行 (6).toString(2) //"110" (-6).toString(2) //"-110" parseInt('-110',2)// -6 parseInt('110',2) // 6 //下面是关键 (~6).toString(2) //"-111" 即-7 式1 (~-6).toString(2)// "101" 即 5 式2 /* 式1: 6 :补码 0110 取反 1001 这是一个补码表示的数 其真值为 -111 即-7 式2:-6 :补码 1010 取反 0101 同理,但这是个正数 故真值为 +101 即 5 可见 1:Javascript 数的表示 是用 补码表示的 (输出是真值表示) 2:Javascript 取反操作 是包含 符号位的 3:Javascript 数的位运算以数的实际位数为基准(正数符号位为0),而不是确定的32位 */