//'|'表示按位或,一个整数与0按位或运算可以得到它本身,一个小数与0按位或运算可以得到取整效果
console.log( 1.3 | 0);//1
console.log( 1.8 | 0);//1
console.log( Infinity | 0);//0
console.log( -Infinity | 0);//0
console.log( NaN | 0);//0
console.log('12px' | 0);//0
console.log('12' | 0);//12
0000 0000 0000 0000 0000 0000 0001 0010
1111 1111 1111 1111 1111 1111 1110 1101
1111 1111 1111 1111 1111 1111 1110 1101
1
---------------------------------------
1111 1111 1111 1111 1111 1111 1110 1110
var num = -18; console.log(num.toString(2));//'-10010'
var num1 = 25; var num2 = ~num1; console.log(num2);//-26
console.log(~~3);//3 console.log(~~3.1);//3 console.log(~~3.9);//3
第一个数值的位 第二个数值的位 结果 1 1 1 1 0 0 0 1 0 0 0 0
var iResult = 25 & 3; console.log(iResult);//"1"
//分析如下 25 = 0000 0000 0000 0000 0000 0000 0001 1001 3 = 0000 0000 0000 0000 0000 0000 0000 0011 --------------------------------------------- AND = 0000 0000 0000 0000 0000 0000 0000 0001
第一个数值的位 第二个数值的位 结果 1 1 1 1 0 1 0 1 1 0 0 0
var iResult = 25 | 3; console.log(iResult);//"27"
//分析如下 25 = 0000 0000 0000 0000 0000 0000 0001 1001 3 = 0000 0000 0000 0000 0000 0000 0000 0011 -------------------------------------------- OR = 0000 0000 0000 0000 0000 0000 0001 1011
console.log(3.1 | 0);//3 console.log(3.9 | 0);//3
第一个数值的位 第二个数值的位 结果 1 1 0 1 0 1 0 1 1 0 0 0
var iResult = 25 ^ 3; console.log(iResult);//"26"
//分析如下 25 = 0000 0000 0000 0000 0000 0000 0001 1001 3 = 0000 0000 0000 0000 0000 0000 0000 0011 --------------------------------------------- XOR = 0000 0000 0000 0000 0000 0000 0001 1010
var a=10,b=9; a ^= b, b ^= a, a ^= b; console.log(a,b);//9,10
//分析如下 a = 0000 0000 0000 0000 0000 0000 0000 1010 b = 0000 0000 0000 0000 0000 0000 0000 1001 --------------------------------------------- a1 = 0000 0000 0000 0000 0000 0000 0000 0011 a1 = 0000 0000 0000 0000 0000 0000 0000 0011 b = 0000 0000 0000 0000 0000 0000 0000 1001 --------------------------------------------- b1 = 0000 0000 0000 0000 0000 0000 0000 1010 b1 = 0000 0000 0000 0000 0000 0000 0000 1010 a1 = 0000 0000 0000 0000 0000 0000 0000 0011 --------------------------------------------- a2 = 0000 0000 0000 0000 0000 0000 0000 1001 //a=a2=10;b=b1=9
console.log(3.1 ^ 0);//3 console.log(3.9 ^ 0);//3
var oldValue = 2; var newValue = oldValue<<5; console.log(newValue);//64
var oldValue = -2; var newValue = oldValue<<5; console.log(newValue);//-64
console.log(3.1 << 0);//3 console.log(3.9 << 0);//3
var oldValue = 64; var newValue = oldValue>>5; console.log(newValue);//2
console.log(5>>1);//2 console.log(15>>1);//7
var oldValue = 64; var newValue = oldValue>>>5; console.log(newValue);//2
var oldValue = -64; var newValue = oldValue>>>5; console.log(newValue)//134217726
0000 0000 0000 0000 0000 0000 0100 0000
1111 1111 1111 1111 1111 1111 1011 1111
1111 1111 1111 1111 1111 1111 1011 1111
1
---------------------------------------
1111 1111 1111 1111 1111 1111 1100 0000
0000 0111 1111 1111 1111 1111 1111 1110 console.log(0b00000111111111111111111111111110);//134217726
console.log(2 << 1);//4 console.log(3 << 1);//6 console.log(4 << 1);//8
console.log(2 >> 1);//1 console.log(5 >> 1);//2 console.log(8 >> 1);//4 console.log(9 >> 1);//4
var a=10,b=9; a ^= b, b ^= a, a ^= b; console.log(a,b);//9,10
console.log(~~3.1);//3 console.log(3.1|0);//3 console.log(3.1^0);//3 console.log(3.1<<0);//3 console.log(3.1>>0);//3
var FLAG_A = 1; // 0001 var FLAG_B = 2; // 0010 var FLAG_C = 4; // 0100 var FLAG_D = 8; // 1000
var mask = FLAG_A | FLAG_B | FLAG_D; // 0001 | 0010 | 1000 => 1011
//“或运算”可以确保打开指定的开关 flags = flags | mask;
//“与运算”可以将当前设置中凡是与开关设置不一样的项,全部关闭 flags = flags & mask;
//“异或运算”可以切换(toggle)当前设置,即第一次执行可以得到当前设置的相反值,再执行一次又得到原来的值 flags = flags ^ mask;
//“否运算”可以翻转当前设置,即原设置为0,运算后变为1;原设置为1,运算后变为0 flags = ~flags;
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有