2012年4月6日星期五

not位运算(~)的tip


位运算 NOT 由否定号(~)表示,位运算 NOT 是三步的处理过程:
  1. 把运算数转换成 32 位数字
  2. 把二进制数转换成它的二进制反码
  3. 把二进制数转换成浮点数
var iNum1 = 25;  //25 等于 00000000000000000000000000011001
var iNum2 = ~iNum1; //转换为 11111111111111111111111111100110
alert(iNum2);  //输出 "-26"
位运算相当于 var iNum1 = 25;var iNum2 = -iNum1-1; //取负再减一
if(~"xxx.png".indexOf(".png"))//indexOf找不到时返回-1,not位运算后为0,0为false,非零为true

没有评论:

发表评论