二进制前缀0b
var a=0b11;//a=3
八进制前缀0
var a=011;//a=9
十进制不用前缀
十六进制前缀0x
var a=0x11;//a=17
数字转各进制字符串用num.toString(n),n为2-36的数字,表示2-36进制。
字符串转数字用parseInt(numstring,n),n为2-36的数字,表示用2-36进制方式解析字符串得到数字,有0x前缀时可不用指定n=16
Javascript 完全套用了 Java 的位运算符,包括按位与 & 、按位或 | 、按位异或 ^ 、按位非 ~ 、左移 << 、带符号的右移 >> 和用0补足的右移 >>>
按位非~的操作实际上是 1.把运算数转换成 32 位二进制数 2.把二进制数转换成它的二进制反码
而负数是反码+1。所以~运算结果就是改变符号再-1。
a=-2,~a即1
a=2,~a即-3